我在我的應用程序中使用GCM,並且遇到問題。Android GCM消息需要很長時間才能到來
大部分時間我都會馬上收到消息,但有時消息會在5分鐘後一個接一個地出現,就像他們被困在路上一樣。這是正常的嗎?
我在我的應用程序中使用GCM,並且遇到問題。Android GCM消息需要很長時間才能到來
大部分時間我都會馬上收到消息,但有時消息會在5分鐘後一個接一個地出現,就像他們被困在路上一樣。這是正常的嗎?
我還沒有注意到,在我的極其有限的測試,到目前爲止,但是從我的documentation的理解,這聽起來非常奇怪:
GCM通常會交付後,立即有消息發送。但是,這可能不總是可能的。例如,該設備可能被關閉,脫機或不可用。在其他情況下,發送方本身可能會要求消息在設備通過使用delay_while_idle標誌變爲活動狀態之前不能傳遞。最後,GCM可能會故意拖延消息,以防止應用程序消耗過多資源並對電池壽命產生負面影響。
在本文和其他文檔之間的語言中,您描述的內容聽起來像我期望的。不能保證即時交付;你通常會立即發送消息,但有時你不會。
我在找到和原始海報相同的東西。似乎需要5分鐘才能「醒來」,然後很快處理消息。
我的應用程序正在處理與聾人的對話中的文本項目。主叫方發起對話,聾啞人通過電話迴應。延遲只發生在第一步,新消息「出乎意料」。一旦完成了第一個(應用程序,設備,系統ID),其他人就會很快地完成任務,幾乎是瞬間完成的。
客戶端手機上的GCM框架部分使用的端口5228.用於推送通知這個連接其上TCP連接,而且是每一個TCP連接,它可以繼續暫停時以適用嚴格的政策,一些路由器/運營商終止非活動的TCP連接(tcp空閒超時)。
大多數wifi路由器在5分鐘後殺死非活動連接,例如像我的一樣。
GCM框架使用keep-alive機制在wifi上每15分鐘發送一次心跳網絡數據包,在3G上每28分鐘發送一次心跳網絡數據包。對於所有用戶而言,這種保持活力並不總是可靠的。
我把問題打到谷歌這裏: https://productforums.google.com/forum/#!category-topic/nexus/connecting-to-networks-and-devices/fslYqYrULto 他們同意,目前有一個問題。
同上。遇到同樣的問題不幸的是:( – 2013-01-29 15:19:07
我有同樣的問題 – 2014-04-23 13:09:06