2013-02-22 68 views

回答

80

谷歌用GCM代替C2DM後,他們取消了所有限制。

來源:http://developer.android.com/google/gcm/c2dm.html#history

此前GCM(當它仍然被稱爲C2DM):https://developers.google.com/android/c2dm/#limitations

你碰上GCM文件的唯一限制是:http://developer.android.com/google/gcm/adv.html#lifetime

從報價上面的鏈接:

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

我不確定這是否與您的問題相關。

+0

注意:'有多少郵件可以存儲而不會崩潰的限制。該限制目前爲100.如果達到限制,則所有存儲的消息都將被丟棄....',這是針對特定用戶的,是正確的?即。用戶可能會關閉他們的設備很長一段時間,因此GCM消息堆積如果沒有端點崩潰?或者是所有用戶都是100呢? – Sauron 2016-02-25 17:58:06

+4

@Sauron:這是每個設備。 – 2016-02-26 04:27:08

+0

如果沒有得到正確的結果,服務器將保留最後100個,舊的消息將被丟棄。當設備聯機時,最新鮮的100條消息與達到的限制消息一起發送? – ir2pid 2017-06-14 14:44:25

1

根據官方文件,無限制。

7

沒有加入任何漲停數推送通知(GCM),而是通過官方來源GCM Advanced Topics它指出

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

希望它會幫助。

+0

你能幫助我?請參閱http://stackoverflow.com/questions/34826165/google-cloud-messaging-limit – ghanbari 2016-01-17 08:49:08

+0

@Bhavesh鏈接沒有發現 – 2016-08-19 11:14:12

2

您可以爲每個SEND_ID發送最多1,000個設備!

Here是原始來源。

+1

這不是那個消息來源所說的。 – 2014-02-21 14:38:57

+0

ROTFL ...該來源的含義是一次最多1000個 – humblerookie 2014-09-09 07:53:51

+0

**未找到來源**,更改鏈接。 – 2016-06-04 05:05:39

9

似乎沒有設定的數值限制,但有適當的限制措施。

爲了防止濫用(如發送的消息的洪水的設備)和 以優化的 設備總體的網絡效率和電池壽命,GCM實現使用令牌桶 方案消息的節流。

如果應用程序崩潰密鑰耗盡其可用的 令牌,則新消息將緩存在未決隊列中,直到新令牌 在定期授予時變爲可用爲止。

途經:https://developers.google.com/cloud-messaging/server#throttling

編輯/更新:

只是爲了更新,節流的文檔現在可以在GCM高級主題發現:http://www.androiddocs.com/google/gcm/adv.html#throttling

+1

我剛剛注意到當我更多地查看我添加的網站時。我不完全確定如果androiddocs.com是谷歌的官方文檔。 @boltup_im_coding - 如果你可以添加一條說明,我會很感激。 :) – 2016-06-06 06:31:53

14

有一種limit1000notifications一氣呵成。假設你有50000 regids。您不能將所有50000一起發送。在第一個1000之後,您將不得不單獨選擇下一個1000等等。

+1

你有這方面的官方消息? – pleshy 2015-09-28 15:58:50

+1

@pleshy官方文檔[這裏](https://developers.google。com/cloud-messaging/http-server-ref),查看* registation_ids * – rion18 2015-12-28 15:38:35

+0

請看看這裏瞭解@doylefermi想說的話。 https://github.com/ToothlessGear/node-gcm/issues/42 – 2016-07-18 17:15:33

4

試圖發送超過1000推送從java代碼com.google.android.gcm.server.Sender「發送」的方法,嘗試失敗。

https://developers.google.com/cloud-messaging/http-server-ref 下游HTTP消息(JSON):

PARAM NAME - 接收的多播消息字符串數組

此參數指定裝置(註冊標記,或ID)的列表 - registration_ids 類型。它必須包含至少1個和最多1000個註冊令牌。

此參數僅用於多播消息傳遞,不適用於單個收件人。僅允許使用HTTP JSON格式的多播消息(發送至多個註冊令牌)。

+1

首先,歡迎來到社區:)這個問題已經有好幾個高質量的答案,其中大部分是三年前發佈的,當時的問題是問。雖然嘗試回答諸如此類的簡單問題可能是一種有價值的練習,但爲了提高編程能力,在當前狀態下發布此答案並不會增加任何問題。 – MTCoster 2016-02-04 13:45:45

0

registration_ids
此參數指定接收多播消息的設備(註冊令牌或ID)列表。它必須包含至少1個和最多1000個註冊令牌。