我正在使用Uniqush将GCM消息发送到我正在开发的应用程序,到目前为止这一点运行良好。但是,出于显而易见的原因,我正在开发时卸载并重新安装应用程序,并且每次新安装都会重新注册GCM。
我理解GCM应该自动处理:
http://developer.android.com/guide/google/gcm/adv.html#unreg
如果无法将消息传递给设备,它会向处理它的服务器发送错误。不幸的是(即使在没有安装应用程序的情况下发送测试推送消息之后)我也会收到重复的消息给我的设备。
这是Uniqush,我的程序,GCM或三者的某种组合中的失败吗?
答案 0 :(得分:0)
如果在卸载应用程序时将通知发送到设备,最终将重复项清除。
答案 1 :(得分:0)
根据您的描述,我无法重现您的情况。以下是尝试重现它的步骤:
[Unsubscribe][Info] 2012/12/21 19:18:08 [UnsubscribeRequest] RequestId=3992a14e4987e94e3ce16bb7394ee06d2d9e7231 Success
DeliveryPoint=gcm:47e6551857be173b1418e56b63dbdb8cd58c94a2
redis-cli
检查数据库,不再存储设备的信息。它已成功取消订阅。但是,我确实发现了一些问题:如果您检查来自HTTP的uniqush返回的错误消息,那么您将在第二个通知上看到Success
。我已经在下一个版本中修复了这个bug。它很快就会上线了。 (如果您对此感兴趣,请查看.deb package)
事实上,uniqush旨在能够处理这种情况,以便用户不需要关心取消订阅,设备令牌/注册ID更新等。
如果您有任何未来的问题,请随时发表评论或与我联系。