iOS 卸载 APP 推送消息如何处理

卸载APP,推送消息如何处理?

当我们将应用从设备卸载后,推送的消息改如何处理呢 ?
我们知道,当我们将应用从设备卸载后,我们是收不到 Provider 给我们推送的消息的,但是,如何让 APNS 和 Provider 都知道不去向这台卸载了应用的设备推送消息呢?针对这个问题,苹果也已经帮我们解决了,那就是Feedback service。

feedback 是什么?

他是 APNS 的一部分,APNS 会持续的更新 Feedback service 的列表,当我们的 Provider 将信息发给 APNS 推送到我们的设备时,如果这时设备无法将消息推送到指定的应用,就会向 APNS 服务器报告一个反馈信息,而这个信息就记录在 feedback service 中。按照这种方式,Provider 应该定时的去检测 Feedback service 的列表,然后删除在自己数据库中记录的存在于反馈列表中的 device_token,从而不再向这些设备发送推送信息。连接 Feedback service 的过程同样使用 Socket 的方式,连接上后,直接接收由 APNS 传输给我们的反馈列表,传输完成后断开连接,然后我们根据这个最新的反馈列表在更新我们自己的数据库,删除那些不再需要推送信息的设备的 device_token。从 Feedback service 读取的数据结构如下:

结构中包含三个部分:

  • 第一部分是一个时间戳,记录的是设备失效后的时间信息;
  • 第二个部分是device_token的长度;
  • 第三部分就是失效的device_token,我们所要获取的就是第三部分,跟我们的数据库进行对比后,删除对应的device_token,下次不再向这些设备发送推送信息。

你可能感兴趣的:(iOS 卸载 APP 推送消息如何处理)