Android - 如何为GCM实现Canonical ID以防止重复

时间:2013-04-23 11:06:21

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

我已经在我的应用程序中实现了GCM,并且我的设备在重新安装应用程序后收到两个警报。我已经阅读了有关规范ID的信息,但很难找到有关如何使用它或如何/在何处实现它的信息。谷歌的文档有时很模糊,不提供示例。这是我如何进行正常注册以获取regID。

GCMRegistrar.register(this, getString(R.string.gcm_project_id));

我是否更改此代码以发送规范注册?如果是,如何?我的服务器没有告诉我有任何规范的ID它总是说成功3(其他设备应该是2)和规范0.所以没有办法让我更新数据库因为它不让我知道有一个欺骗。

2 个答案:

答案 0 :(得分:0)

您正在混合内容,此来电接受从google api控制台获取的发件人ID。注册ID通过GCMBaseIntentService中的onRegistered方法发送给您,您应将其发送到服务器,以便在推送通知发送中使用它。现在,如果您有一个旧的注册ID,那么谷歌将在发送服务的响应中向您的服务器发送更新的注册ID AKA Canonical id。

答案 1 :(得分:0)

我们需要在我们存储的服务器中使用规范ID更新现有注册ID。您可以使用此答案Update Canonical Id