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。

如果有人認爲這是不正確的,請讓我知道。