GCM上iOS通知的规范标识

我们有一台服务器在iOS和Android上向我们的用户发送通知。 Android工作正常。

问题是,当用户卸载并重新安装我们的应用程序。 然后,应用程序从GCM请求一个新的推送ID和它的APNS ID(仍然是相同的)并向我们发送新的ID。 现在我们有2条logging发送通知。 它看起来像GCM只是将其生成的ID映射到一个简单的N:1关系的APNS ID。

如果我们在Android中有相同的情况,现在我们发送通知给GCM,它会在第一个响应中发送标准ID,所以我们可以做出反应,不发送第二个通知。 但是,与iOS不同。 响应看起来像一个正常的,完整的,成功的要求。

我们错过了什么,或没有GCM实施iOS的规范ID? 我找不到有关这个问题的任何信息。

注册令牌是每个设备的每个安装。 每次卸载并重新安装应用程序(iOS或Android)时,GCM都会为您提供新的注册令牌。

这与Canonical IDs类似。 如果您获得Canonical ID,则需要用新返回的Canonical IDreplace服务器中旧的注册令牌,因为最终旧的注册令牌将停止工作。

因此,如果您在卸载并重新安装iOS应用程序(或Android应用程序)时收到新的注册令牌,则可以将新返回的令牌与旧的令牌进行比较。 如果新的令牌不同于旧的令牌,那么你可以用服务器中的新令牌replace旧的令牌,这样就不需要在服务器中维护2令牌。