即使在删除应用程序iPhone后也会收到推送通知

时间:2012-07-18 06:35:25

标签: ios objective-c push-notification apple-push-notifications

我在我的应用中实现了推送通知。

工作正常。

现在问题是我从设备上删除我的应用程序后,它正在获取推送通知。

当从设备中删除应用程序时,有没有办法从推送通知中取消注册该应用程序。

希望得到你的帮助。

提前致谢。

3 个答案:

答案 0 :(得分:10)

在Apple推送通知中,有一种叫做 - 反馈服务。因此,当用户删除应用程序时,服务提供商应该理想地停止向该设备发送通知。但Apple没有通知服务“此设备未使用您的应用程序,请勿发送通知”。因此,您需要轮询此信息。

每天您可能需要点击Apple Notification服务器,要求它为您提供已删除应用的设备ID。获得它们后,在数据库中将它们标记为已删除,从而不再发送任何通知。希望这是你想要的。

来自Apple Documentation -

  

... Apple推送通知服务包含反馈   APN持续更新的服务,每个应用程序列表   发生故障的设备。这些设备是   由以二进制格式编码的设备令牌识别。提供商应该   定期查询反馈服务以获取设备列表   代币用于其应用程序,每个代码都由其标识   话题。然后,在验证应用程序最近没有   在已识别的设备上重新注册,提供商应该停止   向这些设备发送通知。

     

通过二进制接口访问反馈服务   类似于用于发送推送通知的内容。你访问了   生产反馈服务通过feedback.push.apple.com,端口2196;   您通过访问沙箱反馈服务   feedback.sandbox.push.apple.com,端口2196.与二进制文件一样   推送通知的界面,您必须使用TLS(或SSL)   建立安全的通信渠道。 SSL证书   这些连接所需的是与之相同的连接   发送通知。要建立可信赖的提供者身份,您   应该在连接时使用此证书向APN提交此证书   对等身份验证。

请务必结帐 - Issues with Feedback Service

答案 1 :(得分:0)

转到“通知”下的“设置”,然后停用有关违规应用的全部和所有通知。不是永久解决方案,因为您仍然需要找出并解决问题的根源

答案 2 :(得分:0)

到目前为止还没有看到这个答案,Apple“故障排除推送通知”文档中有一个小注释 简而言之,如果您删除最后一个推送启用的应用程序,则在服务器被告知应用程序已被删除之前,从设备到Apples推送服务器的持久连接已断开。 解决方案:在您的设备上至少保留一个支持推送的应用。

文件中有解释:

  

使用反馈服务的问题   如果您从设备或计算机中删除应用程序,然后向其发送推送通知,则您可能会拒绝设备令牌,并且反馈服务上应显示无效的设备令牌。但是,如果这是设备或计算机上最后一个支持推送的应用程序,它将不会显示在反馈服务中。这是因为删除最后一个应用程序会删除与推送服务的持久连接,然后才能发送删除通知。

     

您可以通过在设备或计算机上至少保留一个支持推送的应用程序来解决此问题,以便保持持久连接。要保持与生产环境的持久连接,只需从App Store安装任何免费的推送应用程序,然后您就可以删除应用程序并将其显示在反馈服务中。

回想一下,每个推送环境都有自己的持久连接。因此,要保持与沙盒环境的持久连接,请安装另一个支持开发推送的应用程序。“