2013-08-17 59 views
4

我正在開發一款應用程序,使用帶有最新Google Play服務版本的Google Cloud Messaging。GCM推送郵件保留在服務器上,直到新郵件到達

如果我關閉了設備的網絡連接,那麼在我沒有Internet訪問的時間內應該收到的所有消息都會存儲在服務器中,直到新的消息到達時我纔會收到它們我的網絡連接重新開啓。因此,如果我在晚上收到20條新消息,當我關閉WiFi/3G時,當我在早上切換WiFi時,我不會收到任何消息,並且當第一條新消息到達時,我會收到21條消息一次推送通知。

問題是,那麼......有沒有辦法解決這個問題呢?這是我的執行問題還是這是預期的行爲,我應該找到一些解決方法?

謝謝!

小編輯:由於我發送的推送消息是可摺疊的,我無法一次得到21個通知,但是直到有新消息到達時,我才收到摺疊消息。

+0

您想要處理那20條消息還是什麼? – Pavlos

+0

不,我想在早上再次打開WiFi時收到郵件,而無需等待新郵件到達,然後將它們放在一起。現在,如果我在早上沒有收到任何消息,那麼20條晚間消息就會陷入某種推送消息的困境:-) – LuTHieR

+0

http://stackoverflow.com/questions/13835676/google-cloud-messaging-消息 - 有時沒有收到,直到網絡狀態 - cha – Pavlos

回答

3

這看起來像是郵件有效負載上time_to_live參數的問題。在同一引用Android Docs

time_to_live:多長時間(以秒爲單位)的消息應保持在GCM的存儲設備是否離線(默認時間到現場爲4周)。

祝你好運!

+0

謝謝!你是對的,它**是'time_to_live'參數的問題。我手動將它設置爲2419200,似乎有一個錯誤,因爲我只是完全刪除了參數,現在它正在工作。 感謝您的提示! – LuTHieR

+0

是collapse_key對於所有消息都是相同的,或者對於所有消息都是不同的,因爲我嘗試將它設置爲對於所有消息都是一樣的,那麼我只有最後一條消息。 –

相關問題