发件人 ID 是私有的吗?

Is Sender ID Private?

我有一个使用 GCM 推送通知的开源 public 应用程序。要注册推送,将发送者 ID 放入源代码中。可以 public 公开此发件人 ID 吗?发件人 ID 应该保密吗?如果暴露,任何人都可以用我的发件人 ID 做任何坏事吗?

暴露sender id就好了,没有serverkey就没有意义

发件人 ID 未绑定到唯一的应用程序包名称。事实上,多个应用程序可以使用相同的发件人 ID 注册到 GCM,这将允许使用相同的 API 密钥向所有这些应用程序发送 GCM 消息。当然,每个应用程序都会有不同的注册 ID(即使在同一台设备上)。

如果有人知道您的发件人 ID,他们可以使用该发件人 ID 注册到 GCM,但如果不知道 API 密钥,他们将无法将 GCM 消息发送到假应用程序或真实应用程序应用程序。当他们注册到 GCM 时,GCM 会收到他们假冒应用程序的包 ID。因此,如果您向真实应用程序的注册 ID 发送消息,它将不会到达假应用程序。

保留它 Protected 并尝试保留 API 密钥以及您的服务器详细信息。

更多参考 1

这个问题源于不知道每个键的作用。此信息与取代 GCM 的 Firebase Cloud Messaging 相关。


FCM 发件人 ID

FCM 发件人 ID 实际上是 Firebase 项目编号。要自己检查,您可以将 google-services.json/Firebase 项目设置页面 中的 project_info.project_number 与发件人 ID 进行比较。

Android 客户使用它来识别向哪个应用程序(Firebase 项目)注册 FCM,因此它很有意义。

它在 google-services.json 敏感的 google-services.json 中可用。

如果用户知道您的发件人 ID,他们可以做的最糟糕的事情就是他们可以注册您的推送通知。


FCM 服务器密钥

FCM 服务器密钥 敏感,因为它允许用户向已注册的设备发送推送通知。