2014-12-05 48 views
1

我正在使用GCM服務器庫從我的服務器發送消息。GCM中的實際可用消息大小(4kb或更少?)

message = new Message.Builder() 
    .timeToLive(10) 
    .delayWhileIdle(false) 
    .addData("json", sendMsgData) 
    .build(); 

由於GCM支持4KB大小的消息,我想知道什麼是實際大小sendMsgData可以嗎?
4kb允許sendMsgData還是有其他因素,我需要計算和減少我的實際sendMsgData大小?

請參考從下面的谷歌文檔以下,如果下面的JSON受4KB的極限,然後其中是用戶的實際信息「數據」下面將小於4KB ...

這裏是包括對谷歌GCM DOC站點TTL的JSON格式請求的例子:

{ 
    "collapse_key" : "demo", 
    "delay_while_idle" : true, 
    "registration_ids" : ["xyz"], 
    "data" : { 
    "key1" : "value1", 
    "key2" : "value2", 
    }, 
    "time_to_live" : 3 
}, 

回答

1

只有「數據」元素內的鍵和值的長度朝向4096個字節極限計數。預定義的鍵(如「collapse_key」,「registration_ids」等)及其值不計算。

上次我測試這個限制(這是幾年前),它似乎甚至沒有4096字節的限制,但4096個字符的限制,這是一個更高的限制(因爲你可以使用,例如,非英文語言的4096個字符,每個字符需要多於一個字節)。

但是我不得不承認,我沒有用JSON內容類型來測試這個限制。我用URL編碼的內容測試了它。

相關問題