APNs复制令牌

我们有一个推送通知服务器,它为多个不同的应用程序保存数据(设备令牌)。 随着苹果希望阻止人们使用UDID作为标识符,我正在考虑更改此服务器,以便它不再依赖UDID来识别设备。

我了解,APN返回的令牌不是全球唯一的,而是每个设备唯一的。 然而,在通过我们的数据库时,我注意到有几种情况(在750k +注册上有几百个),其中相同的令牌用于不同的设备

所以我想弄清楚是什么原因造成的 在这一点上,我看到了两种可能性:

  1. 我们的服务器注册处理有一个不明确的错误
  2. 苹果回收这些设备令牌(也许在设备重置之后?)。 我们总是保存最后一次注册的设备,而且我注意到在不同设备的注册之间总是有相同的标记。 据我所知,没有令牌同时被不同的设备使用。

我真的很感激,如果有人可以在这方面的一些光。

我们知道的是, 苹果告诉我们使用设备令牌将通知推送到设备。 所以,只要你是:

  1. 每次应用程序启动并在数据库中注册时,都会向APN查询新的设备令牌

  2. 查询非活动设备的反馈服务,并从数据库中清除它们

…你在做苹果希望你做的事情。

不过,我怀疑你的注册码可能有错误,因为100 / 750k是相当高的冲突率。 考虑到这些设备令牌被用来推送通知,很多人会抱怨接收不属于他们的通知…