2012-12-04 57 views

回答

7

它不包括註冊ID。

我很抱歉無法提供任何證明文件。 GCM文件沒有明確說明。但是,爲了驗證這種行爲,我對它進行了測試。 我可以提供的唯一「證明」是在多播消息中,您最多可以包含1000個註冊ID。 1000註冊ID顯然不能適應有效載荷的4096個字節。

http://developer.android.com/google/gcm/gcm.html

registration_ids

一個字符串數組,與接收到該消息的設備(註冊ID)的列表。它必須包含至少1個和最多1000個註冊ID。要發送多播消息,您必須使用JSON。爲了將單條消息發送到單個設備,您可以使用僅有1個註冊ID或純文本的JSON對象(請參見下文)。需要。

+0

。我不是很確定。谷歌是否會不計registration_id INT有效載荷out.no文件refered.in GCM情況下,我找到像老鄉有效載荷的消息:{ 「registration_id」:「APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx ......」, 「數據」:{ 「尼克」: 「馬里奧」, 「文」: 「偉大的比賽!」, 「房間」: 「PortugalVSDenmark」, }, } – user1556497

+0

在您所提供的示例中,有效載荷長度爲4 + 5 + 4 + 12 + 4 + 16(字段名稱和值的長度)。您可以通過嘗試用一個鍵/值對代替它們,其中鍵的長度+值的長度= 4096,您可以自行驗證。您將看到該消息將被髮送。然後,您可以添加單個字符並查看該郵件將被拒絕。我必須提及的唯一免責聲明是我只測試了它的簡單格式,而不是JSON,但我希望它們的行爲相同。 – Eran

0

要完成接受的答案。我一直在測試這一點,結果如下:

有效載荷的最大lenght爲4096個字節。如果您使用的是JSON,並且您的消息如下所示:

{ 
    "to" : "APA91bGbkLeRLD228BKYQy4syvAYd5ErYiHup5FzofY_8x5CNHmhMlB65CaCHj9ntm7zcMhzDEkd9vi6rxM89cRzPuDLPrlX8UgYExGQ3LmakGTKpkIS0CE9-9tinlIRLMiLoGKDn5jVvks0njvcGFPJSHBn23cd-A", 
    "data": {"a":"Some information. Only this part inside data counts as payload"} 
} 

消息的唯一部分計爲有效內容是「數據」內的部分。即使您發送到多個設備也是如此。

{ 
    "registration_ids" : ["APA91bGbkLeRLD228BKYQy4syvAYd5ErYiHup5FzofY_8x5CNHmhMlB65CaCHj9ntm7zcMhzDEkd9vi6rxM89cRzPuDLPrlX8UgYExGQ3LmakGTKpkIS0CE9-9tinlIRLMiLoGKDn5jVvks0njvcGFPJSHBn23cd-A", 
         "APA91bGbkLeRLD228BKYQy4syvAYd5ErYiHup5FzofY_8x5CNHmhMlB65CaCHj9ntm7zcMhzDEkd9vi6rxM89cRzPuDLPrlX8UgYExGQ3LmakGTKpkIS0CE9-9tinlIRLMiLoGKDn5jVvks0njvcGFPJSHBn23cd-A"] 
    "data": {"a":"Some information. Only this part inside data counts as payload"} 
} 
相關問題