didInvalidatePushTokenForType

didInvalidatePushTokenForType

didInvalidatePushTokenForType的文档说它是可选的实现,并且说

如果先前提供的推送 token 为no,则调用此方法
有效期更长。无需任何操作即可请求注册。
此反馈可用于将应用服务器更新为不再发送
将指定类型的通知推送到此设备。

因此,为什么在地球上有人不想实现这一点?如果 token 不再有效,则服务器将永远无法再次将Voip推送发送到该设备,因此手机上的应用也不希望尽快知道其无效,因此可以将新 token 发送到服务器?

我一直在尝试搜索信息并使用didInvalidatePushTokenForType(),但是似乎每个人都只是将此方法复制并粘贴到其源代码中,因为其他人都已复制并粘贴了它。但是似乎没有人对此做任何事情。
但是似乎应该使用它是至关重要的方法,那么为什么显然没有人呢?
token 何时会失效?

最佳答案

感谢您提出的好问题。

1) token 何时会失效?

  • 如果我们要从App Store更新应用程序,则APNS token 不会更改。
  • 重新安装操作系统或更新操作系统或重置iOS设备,然后APNS token 会更改(升级或降级操作系统)。
  • 设备 token 2年后失效或过期。
  • 如果我重新安装应用程序,则
  • iOS9和更高版本的设备 token 会更改。(根据我的经验和知识)。
  • 从App Store下载应用程序,然后使用X-Code运行您的代码,在这种情况下,设备 token 将更改。

  • 2)对didInvalidatePushTokenForType()很重要还是为什么? didInvalidatePushTokenForType()是可选的

    让我们澄清一下didInvalidatePushTokenForType()方法。

    一旦 token 被更改,然后调用didInvalidatePushTokenForType()didUpdatePushCredentials()方法,因此所有代码都放置在didUpdatePushCredentials()中,而不是didInvalidatePushTokenForType()中。

    这就是为什么开发人员不重视didUpdatePushCredentials()方法的原因。

    Here查找参考

    09-25 17:19