2012-04-16 59 views
0

我正在使用C#Windows服务向APN发送通知。它工作得很好。但是,今天我收到了来自Apple的错误8(无效标记)。批次中的一个被拒绝时丢失推送通知

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

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

这是否有意义?

谢谢!

回答

0

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

这确实意味着如果您的列表中有多个无效消息,您将会一遍又一遍地传输大量通知......但从经验来看,似乎这是与APNS成功工作的唯一方法。

+0

因此......您最终将重复通知发送给接收通知的用户?或者一旦失败,批次中没有人收到任何东西? – g3rv4 2012-04-21 18:12:15

相关问题