当批次中的一个被拒绝时缺少推送通知
Posted
技术标签:
【中文标题】当批次中的一个被拒绝时缺少推送通知【英文标题】:Missing push notifications when one in the batch is rejected 【发布时间】:2012-04-16 15:31:36 【问题描述】:我正在使用 C# Windows 服务向 APNs 发送通知。它工作得很好。但是,今天我收到了来自 Apple 的错误 8(无效令牌)。
我添加了处理这种情况的代码(从数据库中删除了令牌,以便我不再发送任何通知)。但是,正如 Apple 所说,我正在通过同一个渠道发送一批通知......并且这些通知是在同一个连接上发送的(在他们返回响应之前我不知道它失败了),但我看到没有传递其他通知。
这正常吗?你怎么处理这个?我正在考虑存储所有通知,并在发送完所有通知后等待 5 秒钟……如果 Apple 没有发送任何通知,那一切都好……如果发生任何事情,请检查错误,删除失败的通知并发送剩余的,直到没有收到错误为止。
这有意义吗?
谢谢!
【问题讨论】:
【参考方案1】:这正是我们最终在JavaPNS 中所做的事情。推送通知列表,针对该列表中的特定通知接收错误响应数据包,库使用相同列表重新开始发送通知,但从失败后的通知开始。循环直到没有收到错误响应数据包。
这确实意味着,如果您的列表中有多个无效消息,您将一遍又一遍地发送大量通知......但根据经验,这似乎是成功使用 APNS 的唯一方法。
【讨论】:
所以...您最终会向确实收到通知的用户发送重复通知?或者一旦失败,批次中没有人收到任何东西?以上是关于当批次中的一个被拒绝时缺少推送通知的主要内容,如果未能解决你的问题,请参考以下文章