GCM发件人ID /项目数(GCM sender id / project number)

2019-07-19 16:20发布

发送GCM,我们从谷歌API控制台发送者ID,是重要的是保持该发件人ID保护? 我的意思是,会有人能够做不好的事情,如果他们知道ID? 我做了一个错误,我认为ID是在我的项目之一......我能够以某种方式改变它呢? 我找不到反正通过查看谷歌API控制台去改变它! 我应该担心吗? 还是确定?

服务器和浏览器API密钥可以改变,但没有发件人ID,项目编号...

Answer 1:

是的,你应该保持project number (这是Sender Id以及用于GCM)的保护; 否则任何人都可以使用它,它会向你的 API的使用次数。 它类似于任何其他服务如谷歌地图API密钥。

我不知道有任何方法来改变它除了创建一个新的谷歌帐户,但在谷歌API控制台的仪表盘有注册选项/生成Project ID ,但我不知道,如果GCM会接受这个作为Sender Id 。 你可以试试看。

编辑:

它可能不是危险的,如果你的project number暴露(在旧的API发送者ID是您的电子邮件),因为你仍然需要API key ,以便能够通过GCM发送通知



Answer 2:

我想补充的是,尽管project ID不能单独用于通过GCM发送通知,也可以通过其他Android应用程序用于注册到GCM,并从你的服务器收到通知。 当然,为了从你的服务器收到通知,该应用程序必须首先联系你的服务器发送其Registration Id ,所以根据服务器实现,你可以阻止这种情况的发生。



Answer 3:

我的理解是:

1)SenderID ==专案编号(如科技工程音符)

2)SenderID /专案编号是嵌入到你的应用程序,在构建时,通过“googleservices.json”

3)应用程序使用和需要的SenderID(通过R.string.gcm_defaultSenderId)与GCM注册,使用下面的代码:

String token = instanceID.getToken(getString(R.string.gcm_defaultSenderId), GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);

4)因此,按我的理解,它是通过SenderID应包含在您的GCM的应用程序,而不是受保护的设计。



文章来源: GCM sender id / project number