当批处理中的一个被拒绝时缺少推送通知

本文关键字:拒绝 通知 一个 批处理 | 更新日期: 2023-09-27 18:31:12

我正在使用C# Windows服务向APN发送通知。它工作得很好。但是,今天我收到了来自Apple的错误8(无效令牌)。

添加了代码来处理这种情况(从数据库中删除令牌,以便我不再发送任何通知)。但是,正如苹果所说,我正在通过同一渠道发送一批通知......并且这些是在同一连接上发送的(在它们返回响应之前我不知道它失败了),但我看到其他通知没有传递。

这正常吗?你如何处理这个问题?我想存储所有通知,并在发送所有通知后等待 5 秒钟......如果苹果没有发送任何通知,一切都很好......如果发生某些情况,请检查错误,删除失败的通知并发送剩余的通知,直到没有收到错误。

这有意义吗?

谢谢!

当批处理中的一个被拒绝时缺少推送通知

这正是我们最终在JavaPNS中所做的。 推送通知列表,接收该列表中特定通知的错误响应数据包,库使用相同的列表重新发送通知,但从失败的通知之后的通知开始。 循环,直到没有收到错误响应数据包。

这确实意味着,如果您的列表中有多个无效消息,您将一遍又一遍地流式传输大量通知...... 但根据经验,这似乎是成功使用 APNS 的唯一方法。