对于来自 APNS 的未注册设备问题,我在 Apple 的开发人员领域找不到任何决定性的答案。
假设设备已从 APSN 服务中注销,我是否会在流中收到任何关于它未注册的响应,或者我可以知道的唯一方法是使用反馈服务?
如果事实上反馈服务是唯一的解决方案,建议如何处理这种成功 -> 失败状态?
更清楚地说,如果我在流中没有得到任何响应,这意味着它“可能”(使用 Apple)到达了目的地,但是反馈表明它是失败的。
Best Answer-推荐答案 strong>
如果设备通过您的代码从 APNS 取消注册(即您的应用程序的代码启动了取消注册),您的应用程序可以通知您的服务器删除设备 token (与注册后通知服务器存储 token 的方式相同) )。
否则,服务器知道设备 token 不再相关(由于从设备上卸载应用或用户禁用应用的推送通知)的唯一方法是在反馈服务中获取设备 token .
对于流中的响应,只有在消息无效时才会收到错误响应。它可能由于无效 token 而无效,但无效 token 是在当前推送环境中从未有效的 token (与反馈服务中返回的 token 不同,它曾经是有效的,如果应用程序是重新安装)。
To be more clear, if I dont get any response in the stream, it means it 'might' (use of Apple) reached its destination but then, the feedback indicates it was a failure.
如果 Apple 没有在流中发送任何响应,则表示消息有效,Apple 会尝试将其传递到设备。如果 Apple 在尝试传递消息时发现应用程序已从设备上卸载,则下一次调用反馈服务将返回该设备的设备 token 。
关于ios - 使用未注册设备的 Apple APNS 流式传输,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/25139639/
|