从 Android gcm 服务器接收重复的推送通知 [关闭]

Posted

技术标签:

【中文标题】从 Android gcm 服务器接收重复的推送通知 [关闭]【英文标题】:Receiving duplicate push notifications from Android gcm server [closed] 【发布时间】:2014-04-30 11:32:39 【问题描述】:

当用户登录时,我的应用程序正在从 GCM 获取设备令牌并注册我的服务器,如果用户已注销,则会从我的服务器中删除设备令牌。当用户登录时,只有我需要接收通知。它工作正常,但一个测试用例收到重复的通知,就像两次相同的数据。

测试用例: `如果用户卸载应用程序或清除数据再次清除数据,则用户登录而不注销当我推送通知时收到两个具有相同数据的通知时,安装登录应用程序的应用程序。如何避免这种重复。

【问题讨论】:

【参考方案1】:

如果用户清除了存储在设备上的数据,那么您在客户端就无能为力了。您可以为每个设备分配一个随机 id 并将其存储在外部存储中,当应用程序被卸载或应用程序数据被清除时,它不会被擦除。只要在本地存储中找不到该 ID,您的应用就可以恢复该 ID。这个Id可以和注册id一起发送给服务器,有助于识别和防止同一设备在你的服务器上有两个注册id的情况。

如果您无法阻止这种情况,您仍然可以在收到 Google 的规范注册 id 后进行修复,这样可以防止下次出现重复消息。

【讨论】:

以上是关于从 Android gcm 服务器接收重复的推送通知 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Android GCM:通知关闭后重复推送

在没有 WLClient::connect() 的情况下接收 GCM 推送

为啥 GCM 推送通知会重复?

Google GCM - 未在 android Lollipop 中接收推送通知

GCM - iOS 客户端控制推送通知?

Android - GCM 在打开应用程序时收到来自 gcm 的通知