如何检测用户卸载的iOS应用程序? 我需要推动严重的通知。 我不想失去它

我知道苹果不会让你知道用户卸载你的应用程序。

我的问题
我有一个旧的传统SMS系统发送警报短信给最终用户。 这些消息大多是严重的。 瓶颈是GSM模块同时发送数百个短信用户的限制。 延迟是不可避免的。

因此,我build立一个新的警报系统,发送推送通知给我的用户,如果他们安装我的应用程序。 在注册了他们的电话号码后,他们的SMS警报将被切换到新的警报系统。

问题是一些老派用户更喜欢短信而不是推送通知。 他们下载应用程序,并注册他们的电话号码。 然后,他们发现他们的手机没有3G数据计划。 他们删除了该应用程序,而没有取消注册其电话号码。

我的新系统不知道谁删除了应用程序,而没有注册电话号码。 所有严重的警报消息仍然继续发送到他们的手机不存在的应用程序。

我的问题
有没有什么聪明的想法或机制可以检测到用户删除了我的应用程序?

APNS有一个反馈服务,在这里Apple会报告任何在用户设备上不再有效的设备令牌。 苹果要求您检查反馈服务中的令牌,并停止发送推送给这些设备。

您可以使用相同的信息自动将用户移回到SMS。 只要将设备令牌绑定到数据库中的电话号码即可。 如果令牌处于活动状态,请发送给它。 如果反馈服务报告为非活动状态,请将其从logging中删除,并再次使用SMS的用户电话号码。

只要记住,设备令牌可以再次变为活动状态,此时,它将通过与第一次相同的机制向您注册。 重新保存与用户,并再次使用推送。