2017-03-21 85 views
4

FCM documentation這裏告訴我如何發送短信到設備組,所以我送東西如下:如何從Firebase FCM獲取「registration_ids」?

https://android.googleapis.com/gcm/notification 
Content-Type:application/json 
Authorization:key=API_KEY 
project_id:SENDER_ID 

{ 
    "operation": "create", 
    "notification_key_name": "appUser-Chris", 
    "registration_ids": ["4", "8", "15", "16", "23", "42"] 
} 


不過,我沒有發現有任何明確的解釋告訴我如何從Firebase FCM獲取"registration_ids"
我只能使用FirebaseInstanceId.getInstance().getToken()獲得「註冊令牌」。
所以任何人都可以告訴我如何獲得"registration_ids"

+1

** registration_ids **表示FCM令牌。 –

回答

5

"registration_ids"是通過在設備上調用FirebaseInstanceId.getInstance().getToken()獲取的註冊令牌的數組。如果您將多個註冊令牌放入數組中,則相同的推送通知將發送給每個註冊令牌。

如果你只希望將通知發送到一個設備與4registration_id,你"registration_ids"陣列只需要包含一個值,像這樣:"registration_ids": ["4"]

如果您想發送到多個設備的通知,稱FirebaseInstanceId.getInstance().getToken()在每個設備上獲取令牌,然後用你已有的值填充數組。

+0

即時通訊對不起,我仍然不明白。我如何知道來自設備A的令牌A是ID「4」而不是「5」或「6」?它如何知道我什麼時候只需放入「4」,「8」,「12」,註冊的設備是令牌F,G,H,這些數字不只是簡單地說得對?我怎樣才能得到這些數字? –

+0

owh你是說這些數字只是個例子?我們實際上不得不用實際的令牌替換它們嗎? –

+0

對,這些數字在他們的例子中只是佔位符。將這些號碼替換爲要發送給它的設備的註冊令牌 –

2

樣品要求你包括:

https://android.googleapis.com/gcm/notification 
Content-Type:application/json 
Authorization:key=API_KEY 
project_id:SENDER_ID 

{ 
    "operation": "create", 
    "notification_key_name": "appUser-Chris", 
    "registration_ids": ["4", "8", "15", "16", "23", "42"] 
} 

創建設備組。

registration_ids參數指您想要添加到該特定設備組中的Registration Tokens。描述爲:

由FCM SDK爲每個客戶端應用程序實例生成的ID。單個設備和設備組消息必需。請注意,註冊代幣必須保密。

這意味着它是在客戶端應用程序側產生,並作爲該特定設備(客戶端應用程序實例)的標識符。

要發送下行消息到設備組,只需利用to參數:

此參數指定的消息的接收者。

該值可以是設備的註冊令牌,設備組的通知密鑰或單個主題(以/ topics /爲前綴)。要發送到多個主題,請使用條件參數。

通過notification_key作爲值。