单iOS应用安装能否同时拥有两个有效APNS Token?及场景验证
APNS Token变更后的有效性问题
有评论提到:
静默推送是服务器让应用随时发送数据的唯一方式,但前提是你已有有效Token。
基于这个逻辑,若用户停止主动启动应用后,要定期获取最新的有效APNS Token,可采用以下流程:
- 远程服务器使用之前应用启动时获取的Token X发送静默推送;
- 静默推送触发后台应用运行,应用从APNS库获取新的Token Y并发送给服务器。
当出现Token X≠Token Y的情况时,以下哪种情况成立?
- Token X与Token Y同时有效
- 应用获取Token Y后,Token X立即失效
- 上述(1)(2)的场景不可能发生
正确结论:Token X与Token Y同时有效
原因说明:APNS Token发生变更(如设备重启、应用重装、iOS系统更新等场景)后,苹果的推送服务器不会立即废弃旧Token,会在一段过渡期内同时保留新旧Token的有效性,以此避免这段时间内推送消息丢失。只有当苹果完成新旧Token的同步清理后,旧Token才会彻底失效。
内容的提问来源于stack exchange,提问作者lf215
相关产品推荐
相关产品推荐

