3

要发送 GCM,我们有一个来自 Google API 控制台的 SENDER ID,保护该 SENDER ID 重要吗?我的意思是,如果他们知道那个ID,他们会做坏事吗?我犯了一个错误,我认为那个 ID 在我的一个项目中......我能以某种方式改变它吗?通过查看 Google API 控制台,我无论如何都找不到更改它!我应该为此担心吗?或者可以吗?

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

4

3 回答 3

5

是的,您应该保护project numberSender Id对于 GCM 也是如此);否则任何人都可以使用它,它将计入对 API 的使用。它类似于任何其他服务(例如 Google 地图)的 API 密钥。

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

编辑:

project number如果您被暴露(在旧 API 中,发件人 id 是您的电子邮件)可能不会那么危险,因为您仍然需要API key能够通过 GCM 发送通知

于 2013-02-09T06:30:11.870 回答
2

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

于 2013-02-09T12:04:44.577 回答
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) Thus, as per my understanding, it is by design that SenderID should be included in your GCM app, and is not protected.

于 2016-02-23T06:30:50.073 回答