1

我正在使用新的 Google Cloud Messaging Framework 开发应用程序。我们知道,一旦我们注册了我们的应用程序,我们就会得到一个注册 ID。但是当用户通过设备多次卸载应用程序并一次又一次地重新安装时会发生什么(到目前为止还没有发送新的通知)。现在完成许多安装后,谷歌可能会返回几个新的注册 ID,现在所有 ID 都保存在应用程序数据库中。如果有要发送的通知,它也会发送到之前保存的所有 id。现在我的问题是我认为谷歌正在向所有以前的 id 发送通知(所以我在同一设备上收到多个通知)。

我希望我把我的问题说清楚了,有没有办法解决这个问题。

4

2 回答 2

0

您可以为每台设备上的应用程序分配一个唯一标识符。如果您将该标识符存储在此设备的外部存储中,则在卸载应用程序时不会将其删除。然后,当再次安装应用程序时,您可以发送注册 ID 以及存储的唯一标识符。您的服务器将使用该标识符来定位旧的注册 ID 并将其替换为新的。

此外,您应该检查从 GCM 获得的响应中的规范注册 ID。每次获取规范 ID 时,您都应确保您的数据库中有该 ID 并删除旧 ID(您用来发送消息的那个 ID 在其响应中获得了规范注册 ID)。

于 2013-09-16T21:06:57.437 回答
0

我建议您阅读官方文档的规范ID部分,因为规范 ID 是专门为解决您的问题而设计的。

每次您向的注册 ID 发送消息时,Google 都会让您知道您要向其发送消息的设备的当前规范 ID。只要确保用这个替换您的 ID。

还要确保在这里查看官方演示的代码。

于 2013-09-16T21:09:55.760 回答