iOS 删除 iPhone 后推送令牌仍然有效
iOS push token still valid after erasing an iPhone
所以,我在商店里有一个应用程序,我已经将它下载到我的 phone 上并获得了该设备的推送令牌。我测试了静默推送通知发送,确实有效,我的设备收到了它。
我想看看推送令牌失效后的时间是多少。我做的第一件事就是简单地卸载了一个应用程序并开始关注,之后我将开始 {"reason":"Unregistered","timestamp:1234567890}
我的 curl
请求,如下所示:
curl -d '{"aps":{"content-available":"1"}}' --cert "/Users/uerceg/Desktop/ProductionCertForMyAppsPush.pem":"password" -H "apns-topic:com.my.app" --http2 https://api.push.apple.com/3/device/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
一旦我从我的设备上卸载了一个应用程序,它通常因情况而异(我猜反馈服务有某种我不太了解的令牌刷新逻辑,我也没有找到一些关于它的文档,无论如何),但需要 3-12 分钟才能开始收到我的应用程序已卸载的信息。可爱。
之后,我想再测试一个案例——选择 Erase All Content and Settings
并完全清除 iPhone 中的所有内容,之后不恢复任何备份。
我这样做后,应用程序也会被删除。但是 curl
请求总是返回状态 200
。我等了 5 天,5 天后,它仍然返回 200
,就好像安装了应用程序一样,但我猜它不应该。擦除所有内容后,我新安装了我的应用程序,获得了新的推送令牌,我用它再次成功发送静默推送通知。
当然,如果我有机制来识别这个特定设备新安装了一个应用程序,我可以在后端更新令牌,不再向该设备发送通知,但我的问题仍然存在:如果我通过擦除和重置我的 iPhone 删除了我的应用程序,为什么 Apple 不会使令牌无效?
也许这是预期的行为,我的问题没有意义,但如果这是预期的行为,你能给我指出一些解释这个问题的文档吗?
提前致谢。
可能出于同样的原因,如果您备份 phone,并从备份中恢复,现有的按键仍然有效。使正在擦除的设备上的密钥失效将消除可以从备份中使用相同密钥的可能性。
所以,我在商店里有一个应用程序,我已经将它下载到我的 phone 上并获得了该设备的推送令牌。我测试了静默推送通知发送,确实有效,我的设备收到了它。
我想看看推送令牌失效后的时间是多少。我做的第一件事就是简单地卸载了一个应用程序并开始关注,之后我将开始 {"reason":"Unregistered","timestamp:1234567890}
我的 curl
请求,如下所示:
curl -d '{"aps":{"content-available":"1"}}' --cert "/Users/uerceg/Desktop/ProductionCertForMyAppsPush.pem":"password" -H "apns-topic:com.my.app" --http2 https://api.push.apple.com/3/device/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
一旦我从我的设备上卸载了一个应用程序,它通常因情况而异(我猜反馈服务有某种我不太了解的令牌刷新逻辑,我也没有找到一些关于它的文档,无论如何),但需要 3-12 分钟才能开始收到我的应用程序已卸载的信息。可爱。
之后,我想再测试一个案例——选择 Erase All Content and Settings
并完全清除 iPhone 中的所有内容,之后不恢复任何备份。
我这样做后,应用程序也会被删除。但是 curl
请求总是返回状态 200
。我等了 5 天,5 天后,它仍然返回 200
,就好像安装了应用程序一样,但我猜它不应该。擦除所有内容后,我新安装了我的应用程序,获得了新的推送令牌,我用它再次成功发送静默推送通知。
当然,如果我有机制来识别这个特定设备新安装了一个应用程序,我可以在后端更新令牌,不再向该设备发送通知,但我的问题仍然存在:如果我通过擦除和重置我的 iPhone 删除了我的应用程序,为什么 Apple 不会使令牌无效?
也许这是预期的行为,我的问题没有意义,但如果这是预期的行为,你能给我指出一些解释这个问题的文档吗?
提前致谢。
可能出于同样的原因,如果您备份 phone,并从备份中恢复,现有的按键仍然有效。使正在擦除的设备上的密钥失效将消除可以从备份中使用相同密钥的可能性。