GCM/APNS注册ID的生成方式是怎样的?

6

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

registration_id 是如何生成的?是为每个设备还是每次安装生成的。

例如:我有两个应用程序 A 和 B。

当设备注册 A 和 B 时,它们的安装是否具有相同的 registration id,或者每次安装都会生成一个新的 id。

对于 iOS,一个安装对应一个 id 还是一个设备对应一个 id?

3个回答

6

APNS:

  1. 如果我理解他们的文档正确,deviceToken是设备唯一的标识。
  2. 当应用程序向APNS注册时,iOS(或Mac OSX> 10.7)会请求它。
  3. deviceToken基本上是一个加密的设备ID,可能包含一些其他信息(与应用程序无关)。
  4. 由此可见,在设备上,所有应用程序共享deviceToken,卸载后重新安装不应更改deviceToken。

您可以查看官方APNS文档了解更多信息。

GCM:

  1. 它是每个设备每个应用程序生成的。
  2. GCM可能会定期刷新注册ID。
  3. 卸载和重新安装几乎总是会产生不同的注册ID。
  4. 应用程序更新可能会导致发出新的注册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

抱歉,该页面无法找到。 - Marian Paździoch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接