根据您的描述,我无法重现您的情况。以下是尝试重现它的步骤:
- 在我的手机上安装测试应用程序并使用 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 包)
事实上,uniqush 就是为了能够处理这种情况而设计的,这样用户就不需要关心取消订阅、设备令牌/注册 id 更新等。
如果您有任何未来的问题,请随时发表评论或与我联系。