Voip Push:在什么情况下调用了didInvalidatePushTokenForType?

时间:2017-10-27 14:26:51

标签: ios pushkit

didInvalidatePushTokenForType的文档说明它是可选的实现方式,并且也说明了

  

如果先前提供的推送令牌为否,则调用此方法   更长的使用时间。无需采取任何行动来申请注册。   此反馈可用于更新应用程序的服务器以便不再发送   将指定类型的通知推送到此设备。

为什么有人不想实现这个呢?如果令牌不再有效,那么服务器将永远无法再次向该设备发送Voip推送,因此手机上的应用程序如果无效则想要尽快知道,以便它可以发送新令牌到服务器?

我一直在尝试搜索信息并使用didInvalidatePushTokenForType(),但似乎每个人都只是复制并将此方法粘贴到他们的源代码中,因为其他人都复制并粘贴它。但似乎没有人对它做任何事情。 但似乎它应该是一个非常重要的方法来利用,所以为什么没有人显然呢? 令牌什么时候变得无效?

1 个答案:

答案 0 :(得分:1)

感谢您提出质疑。

1)令牌什么时候无效?

  • 如果我们是从App Store更新应用程序,则APNS令牌不会更改。

  • 重新安装操作系统或更新操作系统或重置iOS设备,然后APNS令牌确实更改(升级或降级操作系统)。

  • 设备令牌在2年后失效或过期。

  • 如果我重新安装应用程序,iOS9及更高版本的设备令牌会发生变化。(根据我的经验和知识)。

  • 从App Store下载应用程序,然后使用X-Code运行您的代码,在这种情况下,设备令牌将会更改。

2)didInvalidatePushTokenForType()的重要性或为什么? didInvalidatePushTokenForType()是可选的

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

一旦令牌被更改,然后调用didInvalidatePushTokenForType()didUpdatePushCredentials()方法,所以所有代码都放在didUpdatePushCredentials()而不是didInvalidatePushTokenForType()

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

Here

查找参考