5

我目前正在实施基于php的推送通知服务器,可以管理多个应用程序。GCM/APNS如何生成注册ID

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

实施例:我2的应用程序A和B.

当A和B的设备的寄存器中,执行装置具有相同的注册ID或为每设备产生一个标识。

iOS的问题,每个安装或设备一个ID?

回答

4

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

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

Google GCM不能用于iOS,您需要通过Apple的推送通知服务器。我想他们有相同的架构,即每个设备每个应用有一个唯一的ID。

0

对于IOS,您确实也会为每个应用的每个设备确定一个唯一的ID,此外,您将为应用沙盒版本和生产版本拥有不同的ID。 从第三方服务器到google/ios推送通知服务器的身份验证过程也有很大差异。对于GCM,您只需要一个所有应用程序的凭证,而对于IOS,您需要每个应用程序不同的凭据,以及每个沙盒/生产版本。

更多关于IOS推送通知是在这里:http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/WhatAreRemoteNotif/WhatAreRemoteNotif.html#//apple_ref/doc/uid/TP40008194-CH102-SW1

+0

对不起,该页面无法找到。 – 2015-06-25 07:38:31

5

APNS

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

您可以查看official APNS docs了解更多信息。

GCM

  1. 据每施加装置产生的。
  2. GCM可能会定期刷新注册ID。
  3. 卸载和重新安装几乎总是给出不同的注册ID。
  4. 应用程序更新可能会导致发出新的注册ID。

如果有人认为这是不正确的,请让我知道。