我们引用了 Apple 的 TN2265 ( https://developer.apple.com/library/ios/technotes/tn2265/_index.html ) 在我们的应用程序中实现错误处理,它向我们的用户发送推送通知。文档建议我们异步处理错误,具体来说:
If you get six bytes back, that's an error response that you can check for the response code and the ID of the notification that caused the error. You'll need to send every notification following that one again.
是不是在一系列通知中,如果一个通知失败,那么它后面的所有通知肯定都失败了?如果不是,那么如何避免向给定设备重复发送相同的通知?
最佳答案
是的,在那种情况下,它后面的所有通知都保证不会被 APNS 服务器处理。
当 APNS 检测到无效消息时,它会将错误响应写入套接字并关闭连接。在您收到该错误响应之前,您可能已经在同一个套接字上向 Apple 发送了更多消息。所有这些都不会到达 Apple。创建新套接字后,您应该重新发送所有套接字。
没有重复的风险。
关于iphone - 使用 Apple 的推送通知服务 (APNS) 避免重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19000176/