发送GCM,我们从谷歌API控制台发送者ID,是重要的是保持该发件人ID保护? 我的意思是,会有人能够做不好的事情,如果他们知道ID? 我做了一个错误,我认为ID是在我的项目之一......我能够以某种方式改变它呢? 我找不到反正通过查看谷歌API控制台去改变它! 我应该担心吗? 还是确定?
服务器和浏览器API密钥可以改变,但没有发件人ID,项目编号...
发送GCM,我们从谷歌API控制台发送者ID,是重要的是保持该发件人ID保护? 我的意思是,会有人能够做不好的事情,如果他们知道ID? 我做了一个错误,我认为ID是在我的项目之一......我能够以某种方式改变它呢? 我找不到反正通过查看谷歌API控制台去改变它! 我应该担心吗? 还是确定?
服务器和浏览器API密钥可以改变,但没有发件人ID,项目编号...
是的,你应该保持project number
(这是Sender Id
以及用于GCM)的保护; 否则任何人都可以使用它,它会向你的 API的使用次数。 它类似于任何其他服务如谷歌地图API密钥。
我不知道有任何方法来改变它除了创建一个新的谷歌帐户,但在谷歌API控制台的仪表盘有注册选项/生成Project ID
,但我不知道,如果GCM会接受这个作为Sender Id
。 你可以试试看。
编辑:
它可能不是危险的,如果你的project number
暴露(在旧的API发送者ID是您的电子邮件),因为你仍然需要API key
,以便能够通过GCM发送通知
我想补充的是,尽管project ID
不能单独用于通过GCM发送通知,也可以通过其他Android应用程序用于注册到GCM,并从你的服务器收到通知。 当然,为了从你的服务器收到通知,该应用程序必须首先联系你的服务器发送其Registration Id
,所以根据服务器实现,你可以阻止这种情况的发生。
我的理解是:
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的应用程序,而不是受保护的设计。