APN的复制令牌(APNs duplicate tokens)

2019-07-30 11:02发布

我们有适用于多种不同应用的数据(设备令牌)的推送通知服务器。 随着苹果希望停止使用UDID作为标识符的人,我一直在寻找到改变这种服务器,以便它不依赖于UDID的了,不能再识别设备。

我明白的APN返回的记号不是全球唯一的,但每个装置相当独特。 但是,通过我们的数据库中去的时候,我注意到,有些情况下同样被用于不同设备的几种情况(在750K +注册几百个)。

所以我想弄清楚是什么导致这一点。 在这一点上,我看到了两种可能性:

  1. 有一个在我们的服务器上注册的处理不起眼的错误的地方
  2. 苹果回收这些设备令牌(可能是一个设备复位后?)。 我们总是存储某个设备注册的最后时间,我注意到,有始终与同样不同设备的登记之间至少数天。 据我所知,有没有被同时使用不同的设备令牌。

我真的很感激,如果有人可以在此提供一些线索。

Answer 1:

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

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

  2. 查询无效设备反馈服务,并从数据库中清除它们

......你在做什么苹果指望你白干。

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



文章来源: APNs duplicate tokens