如何可靠地评估iOS上的卸载?

如何可靠地评估iOS上的卸载?,ios,iphone,apple-push-notifications,uninstallation,Ios,Iphone,Apple Push Notifications,Uninstallation,我正在尝试检测iOS应用程序的卸载。 我读了一些有用的信息。但是,我如何从返回的错误代码中了解用户是否已卸载推送通知或禁用推送通知/没有连接?我想您应该使用反馈服务。当用户删除应用程序时,服务提供商最好停止向该设备发送通知。但苹果没有通知该服务“此设备未使用您的应用程序,请勿发送通知”。从技术上讲,卸载了您的应用程序的设备在下次向该设备发送推送通知之前不会进入此列表。因此,您需要使用反馈服务轮询此信息 你需要定期点击苹果的通知服务器,要求它提供删除你应用程序的ID。一旦您得到它们,您就在数据库中

我正在尝试检测iOS应用程序的卸载。
我读了一些有用的信息。但是,我如何从返回的错误代码中了解用户是否已卸载推送通知或禁用推送通知/没有连接?

我想您应该使用
反馈服务。当用户删除应用程序时,服务提供商最好停止向该设备发送通知。但苹果没有通知该服务“此设备未使用您的应用程序,请勿发送通知”。从技术上讲,卸载了您的应用程序的设备在下次向该设备发送推送通知之前不会进入此列表。因此,您需要使用
反馈服务
轮询此信息

你需要定期点击苹果的通知服务器,要求它提供删除你应用程序的ID。一旦您得到它们,您就在数据库中将它们标记为已删除,从而不再发送任何通知。此
反馈服务
将告知已注销(应用程序已卸载)的设备。我不确定的是,在设置中关闭推送通知的用户是否会注册相同的推送通知。我相信他们不会出现在
反馈服务的提要中。但是,我可以肯定,处于脱机状态且未发送推送通知的用户将不会包括在列表中。
这将是一个简单的测试,在您的开发区域尝试该应用程序,禁用该应用程序的推送通知,然后查看设备是否显示在提要中

看看

来自苹果公司文档-

苹果推送通知服务包括一个APNs反馈服务 使用每个应用程序的设备列表持续更新 尝试传递失败。这些设备由 以二进制格式编码的设备令牌。供应商应定期 查询反馈服务,以获取设备令牌的列表 应用程序,每个应用程序都由其主题标识。然后,在 验证应用程序最近没有在上重新注册 对于已识别的设备,提供商应停止发送通知 对这些设备

通过二进制接口访问反馈服务 与用于发送推送通知的类似。您可以访问 通过feedback.push.apple.com提供生产反馈服务,端口2196; 您可以通过访问沙盒反馈服务 feedback.sandbox.push.apple.com,端口2196。就像二进制文件一样 接口,您必须使用TLS(或SSL)来 建立安全的通信通道。SSL证书 这些连接所需的连接与为提供的连接相同 发送通知。要建立受信任的提供者身份,请 应在连接时使用向APN提供此证书 对等身份验证

确保您也阅读了以下内容: