GCM/APNS如何生成注册ID

deb*_*o84 6 push-notification apple-push-notifications google-cloud-messaging

我目前正在实现基于php的推送通知服务器,可以管理多个应用程序.

如何生成GCM 的registration_id.是每个设备还是每个安装生成的注册ID.

示例:我有2个应用程序A和B.

当设备注册A和B时,安装是否具有相同的注册ID,或者每次安装是否生成一个id.

iOS的相同问题,每个安装或设备一个id?

Sri*_*nth 6

APNS:

  1. 如果我正确理解他们的文档,deviceToken对于设备是唯一的.
  2. 当应用程序向APNS请求注册时,iOS(或Mac OSX> 10.7)会请求它.
  3. deviceToken基本上是加密的deviceID,可能还有一些其他信息(不是特定于app).
  4. 从这里,我们可以很容易地看到所有应用程序在设备上共享deviceToken,卸载然后重新安装不应该更改deviceToken.

您可以查看官方APNS文档以获取更多信息.

GCM:

  1. 每个应用程序按设备生成.
  2. GCM可能会定期刷新注册ID.
  3. 卸载和重新安装几乎总是提供不同的注册ID.
  4. 应用程序更新可能会导致发布新的注册ID.

如果有人认为这是不正确的,请告诉我.


azg*_*fer 4

您是否已浏览过 Google GCM 架构概述:http://developer.android.com/guide/google/gcm/gcm.html

Registration_id 由 Google GCM 服务器生成并返回给您。这是每个设备每个应用程序。因此,如果您管理 2 个应用程序,并且设备安装了这两个应用程序,则每个应用程序将获得自己唯一的 Registration_id。

Google GCM 无法用于 iOS,您需要通过 Apple 的推送通知服务器才能使用。我想它们具有相同的架构,即每个设备的每个应用程序都有一个唯一的 ID。