0

我在我的应用程序中实现了推送通知。它工作正常。我的问题是, 1)删除应用程序后,苹果服务器如何知道停止发送推送设备。有没有通知Apple服务器的服务? 2)如果设备没有网络连接,那么苹果服务器将如何通知从设备删除应用程序。推送通知的应用程序删除行为

在此先感谢。

+0

本帖](http://stackoverflow.com/questions/11535548/receiving-push-notification-even-after-the-app-is-deleted -iphone)可能会对你有所帮助。 –

回答

0

从文档:

苹果推送通知服务包括反馈服务 要给大家介绍的故障的远程通知的信息。当远程 通知由于设备上不存在预期的应用程序 而无法传递时,反馈服务会将该设备的标记添加到其列表 。

[...]

作为一个供应商,你是负责远程 通知如下几个方面:

[...]定期与反馈服务连接并获取 当前列表那些曾多次报告 失败传递尝试的设备中。然后停止将通知发送到与这些应用相关的设备 。有关更多 信息,请参阅反馈服务。

因此,第三方供应商(Parse,Urban Airship等)负责定期连接Apple反馈服务,并获取反复报告失败传递企图的设备的当前列表。如果给定设备令牌已被重新注册(自生成反馈条目以来时间戳已被更新),推送将再次被发送到设备。

所以据我的理解,反馈服务并不区分你提到的两个独立案例(丢失连接和应用程序删除)。在这两种情况下,给定设备的令牌将被添加到反馈服务的令牌列表中,这再次表示不应该发送推送。

来源: https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html

https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/CommunicatingWIthAPS.html#//apple_ref/doc/uid/TP40008194-CH101-SW3