【发布时间】:2013-07-19 07:17:38
【问题描述】:
当我在开发一个要求用户允许推送通知的 iOS 应用程序时,我想到了这个疑问。如果用户回答“是”,则其设备“push id”被发送到我们的网络服务器,并将其存储在数据库表中。 每次我们想向他发送消息时,我们都使用此 id 与苹果服务通信,该服务实际上将其发送到他的设备;如果他决定停止它们,他可以从 iOS 设置页面中选择性地仅为我们的应用禁用通知。
此操作完成后我们没有收到任何信息,因此我们的服务器没有收到任何通知:它会继续向苹果发送消息,认为它们已送达。
我的问题:当用户从设置中禁用某个应用程序的通知时,设备是否会向 Apple 传达一些信息(在这种情况下:我们能否知道它,以节省带宽跳过不想成为的用户? “已推送”),还是 iOS 只是拒绝(隐藏?)用户已接受然后禁用的应用的推送通知?
如果最后一种情况属实,我们可以认为,随着用户在设备的生命周期内安装大量应用程序,电池寿命将会缩短,因为越来越多的推送通知被远程接收并被本地忽略( ...即使旧的应用程序被卸载??)
【问题讨论】:
-
查看 APNS 文档中的“反馈服务”。
-
Apple 文档说:“因为设备上不存在预期的应用程序”,这并没有涵盖他的问题。在他的问题中,该应用程序仍然存在,只是从“设置”中禁用了推送通知。当从设置中禁用推送通知以及删除应用程序时,没有关于反馈服务是否列出这些令牌的信息。
标签: ios objective-c apple-push-notifications battery