6

I am currently implementing a push notification server based on php that can manage multiple apps.

How is the registration_id for GCM generated. Is the registration id generated per device or per installation.

Example: I got 2 apps A and B.

When the device registers for A and B, do the installations have the same registration ids or is one id generated per installation.

The same question for iOS, one id per installation or device?

4

3 回答 3

6

接入点

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

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

GCM

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

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

于 2013-01-26T02:10:06.227 回答
4

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

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

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

于 2012-07-16T17:17:30.383 回答
0

对于 IOS,每个应用程序的每个设备都有一个唯一的 id,此外,对于应用程序沙盒版本和生产版本,您将有不同的 id。从您的第 3 方服务器到 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

于 2013-01-24T09:28:57.800 回答