【问题标题】:Duplicate GCM messages from Uniqush来自 Uniqush 的重复 GCM 消息
【发布时间】:2012-11-22 11:05:53
【问题描述】:
【问题讨论】:
标签:
android
google-cloud-messaging
unsubscribe
【解决方案1】:
根据您的描述,我无法重现您的情况。以下是尝试重现它的步骤:
- 在我的手机上安装测试应用程序并使用 uniqush 向它推送通知。正确的。 Uniqush 的日志显示它已成功交付,我的手机显示正确的结果。
- 卸载测试应用。
- 使用 uniqush 再次推送另一个通知。 Uniqush 的日志显示用户取消订阅服务的消息:
[Unsubscribe][Info] 2012/12/21 19:18:08 [UnsubscribeRequest] RequestId=3992a14e4987e94e3ce16bb7394ee06d2d9e7231 Success
DeliveryPoint=gcm:47e6551857be173b1418e56b63dbdb8cd58c94a2
- 然后再向设备推送一条通知,uniqush 说找不到设备(因为它已经被移除了。)
- 使用
redis-cli检查数据库,不再存储设备信息。已成功退订。
但是,我确实发现了一些问题:如果您检查从 HTTP 的 uniqush 返回的错误消息,那么您将在第二个通知中看到Success。我已经在下一个版本中修复了这个错误。它很快就会上线了。 (如果您对此感兴趣,请查看.deb package)
其实uniqush就是为了处理这种情况而设计的,这样用户就不需要关心退订、设备token/registration id更新等问题了。
如果您以后有任何问题,请随时发表评论或与我联系。
【解决方案2】:
如果在设备卸载应用时向设备发送通知,最终重复项会被清除。