2013-07-11 29 views
4

我開始實施GCM。我正在使用official tutorial by Googleerror = ToManyMessages GCM

我在Google上找不到有關此錯誤的信息。有人知道這是什麼意思嗎?

我得到了它從廣播接收器:

if (GoogleCloudMessaging.MESSAGE_TYPE_SEND_ERROR.equals(messageType)) { 
     sendNotification("Send error: " + intent.getExtras().toString()); 
     Log.i(TAG, "Send error: " + intent.getExtras().toString()); 


07-11 16:56:55.083: I/GCMDemo(3425): Send error: Bundle[{error=TooManyMessages, message_type=send_error, google.message_id=1}] 
+0

如果您在這裏沒有得到明確的答案,請嘗試使用'android-gcm' Google Group:https://groups.google.com/forum/#!forum/android-gcm – CommonsWare

+0

我遇到了同樣的問題。你得到你的答案? – Ponting

回答

2

這意味着你發送郵件超過100封不崩潰鍵相同的設備,而設備是脫機。達到此限制後,GCM服務器會丟棄存儲的消息,並在設備恢復聯機時向其發送TooManyMessages錯誤。

注意:有多少條消息可以存儲而不折疊的限制。該限制目前爲100.如果達到限制,則丟棄所有存儲的消息。然後,當設備重新聯機時,它會收到一條特殊消息,指出已達到限制。然後應用程序可以正確處理這種情況,通常通過請求完全同步。

0

當您嘗試將消息從其上傳到CCS並且出隊列已滿時,您會在設備上收到此消息。 由於網絡不可用,此本地隊列由GCM無法發送的消息填充。 在這裏你可能已經填滿了隊列並重新啓動應用程序(這就是爲什麼你的messageId是1)。 設備上保存了每個應用程序20個未發送消息的限制(通過測試發現,未在任何地方註明AFAIK)。