GCM发件人ID /项目编号

时间:2013-02-09 06:02:36

标签: android push-notification google-cloud-messaging sender-id

要发送GCM,我们有来自Google API控制台的SENDER ID,对于保护SENDER ID很重要吗?我的意思是,如果有人知道这个ID会有人做坏事吗?我犯了一个错误,我认为ID在我的一个项目中...我能以某种方式改变它吗?我无法通过查看Google API控制台找到更改它!我应该担心吗?还是没事?

可以更改服务器和浏览器API密钥,但不能更改SENDER ID,PROJECT NUMBER ...

3 个答案:

答案 0 :(得分:5)

是的,您应该保持project number(对于GCM而言Sender Id)受到保护;否则任何人都可以使用它,它将计入您对 API的使用。它类似于任何其他服务的API密钥,例如谷歌地图。

除了创建新的Google帐户之外,我不知道有任何方法可以更改它,但在Google API控制台的控制台中,可以选择注册/生成Project ID,但我不确定是否GCM将接受此为Sender Id。你可以尝试一下。

修改

如果您的project number被曝光(在旧API中,发件人ID是您的电子邮件)可能没那么危险,因为您仍然需要API key才能通过GCM

答案 1 :(得分:2)

我想补充说,虽然单独使用project ID不能通过GCM发送通知,但是其他Android应用程序可以使用它来注册GCM并接收来自服务器的通知。当然,为了从您的服务器接收通知,该应用程序必须首先联系您的服务器以发送其Registration Id,因此根据服务器实现,您可以阻止发生这种情况。

答案 2 :(得分:0)

据我所知:

1)SenderID == ProjectID(如iTech所说)

2)SenderID / ProjectID在构建时通过“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应用程序中,并且不受保护。