2017-05-08 55 views
2
  1. 將我的Android設備連接到WIFI AP。
  2. 從AP刪除WLAN電纜,然後重新連接。
  3. 嘗試向我的設備發送GCM消息,但消息未到達。
  4. 15-30分鐘後,GCM信息到達。

我認爲GCM服務試圖每15-30分鐘發送一次刷新消息到服務器。因此在此期間,在斷開網絡上的GCM服務無法從服務器接收任何GCM消息,直到連接恢復。大約15-30分鐘沒有收到GCM消息在破碎的網絡上

我在FCM上測試過這個問題,但結果是一樣的。

在iOS上(我的意思是APNS),它在相同的情況下工作正常。

有沒有什麼好的解決方案,使這種延遲排序在Android設備上?

回答

3

這是因爲心跳的問題與服務器,你可以強制送您想

context.sendBroadcast(new Intent("com.google.android.intent.action.GTALK_HEARTBEAT")); 
context.sendBroadcast(new Intent("com.google.android.intent.action.MCS_HEARTBEAT")); 

OR

沒有必要從GCM服務器發送心跳到手機的心跳,你可以迫使android本身儘早發送心跳信號。

我看看推送通知定影液的應用程序,這是我測試,併爲我工作,似乎所有你需要做的是廣播以下意圖:

com.google.android.intent.action.MCS_HEARTBEAT 
com.google.android.intent.action.GTALK_HEARTBEAT