如何检测用户卸载的iOS App?我需要推送严肃的通知。我不想失去它
Posted
技术标签:
【中文标题】如何检测用户卸载的iOS App?我需要推送严肃的通知。我不想失去它【英文标题】:How to detect user uninstalled iOS App? I need push serious notification. I don't wanna lose it 【发布时间】:2014-02-06 02:00:36 【问题描述】:我知道 Apple 不会让您知道用户已卸载您的应用。
我的问题 我有一个旧的遗留 SMS 系统向最终用户发送警报短消息。这些消息中的大多数都是严肃的。瓶颈是 GSM 模块在同时发送数百个 SMS 用户时有限制。延迟是不可避免的。
因此,如果我的用户安装了我的应用程序,我会构建一个新的警报系统来向他们发送推送通知。注册电话号码后,短信提醒将切换到新的提醒系统。
问题是一些老派用户更喜欢短信而不是推送通知。他们下载应用程序,并注册他们的电话号码。然后,他们发现他们的手机没有 3G 数据计划。他们在没有取消注册电话号码的情况下删除了该应用程序。
我的新系统不知道是谁在没有取消注册电话号码的情况下删除了应用程序。所有严重的警报消息仍然会继续发送到他们手机中不存在的应用程序中。
我的问题 是否有任何聪明的想法或机制可以检测到用户删除了我的应用程序?
【问题讨论】:
【参考方案1】:APNS 具有反馈服务,Apple 会报告用户设备上不再处于活动状态的任何设备令牌。 Apple 要求您检查来自反馈服务的令牌并停止向这些设备发送推送。
您可以使用相同的信息自动将用户移回 SMS。只需将设备令牌与数据库中的电话号码联系起来。如果令牌处于活动状态,则向其发送推送。如果反馈服务报告它处于非活动状态,请将其从您的记录中删除并再次使用用户电话号码发送短信。
请记住,设备令牌可以再次激活,此时,它将通过与第一次相同的机制向您注册。与用户重新保存并再次使用推送。
【讨论】:
安装新的 ios 版本会更改设备的设备令牌。所以服务器端应该处理设备的设备令牌发生变化的情况。以上是关于如何检测用户卸载的iOS App?我需要推送严肃的通知。我不想失去它的主要内容,如果未能解决你的问题,请参考以下文章
iOS 9:如何检测用户何时对推送通知请求说“不允许”? [复制]
如何检测真正的 iOS/APNS 推送令牌何时向 Firebase Cloud Messaging (FCM) 注册?