2014-01-15 43 views
3

根據GCM文檔有兩個GCM限制。一個是GCM服務器在設備離線時最多可以保存100條消息。
另一個是最多隻能有4個摺疊鍵PER SENDER_ID PER DEVICE每個設備或每個設備的GCM限制爲100個消息/ 4個合攏鍵註冊ID

在我們的使用案例中,我們可以在單個設備上安裝5個或更多不同的應用程序(每個應用程序都是APK),並且每個應用程序都獨立註冊並獲取GCM註冊ID(儘管如此,我們只使用相同的SENDER_ID在服務器端有一個Google項目),每個應用程序都有自己的100/4配額或全部5個應用程序共享相同的100/4配額?

如果所有5個應用程序共享相同的100/4配額,那麼很可能在手機重新聯機後(從睡眠中),一個或一些應用程序將無法接收任何排隊的GCM消息,在GCM服務器上排隊的消息超過100條(因此全部被刪除,留下一個特殊的「你需要執行的完全同步」消息,5個應用程序中的哪一個?)或4-collapse鍵限制殺死了第五條可摺疊消息。

回答

1

我相信100/4配額是每註冊ID(這意味着每個應用程序單獨配額,無論您是否使用相同的發件人ID爲不同的應用程序)。

該文檔沒有說100/4配額是每個發件人ID。它說它是每個設備。但是,由於單個設備上的所有應用程序都將共享相同的配額沒有意義,因此我認爲配額是每個設備的每個應用程序(即每個註冊ID)。

0

從Android開發文檔,

GCM僅允許由每>設備的GCM服務器在任何給定時間所使用的最大的4個不同的崩潰密鑰。

您可以根據需要指定任意數量的摺疊鍵。但是,如果一個消息不是推到設備的是,通過GCM存儲的最大獨特摺疊密鑰將是4.

0

上GCM 4 collapse_keys和每100個消息限制爲,每個註冊ID所以 的其他應用將不會受到影響。

相關問題