2015-05-04 32 views
4

我很好奇android android gcm令牌過期策略。 當我想讓我的設備註冊Gcm服務能夠接收Gcm推送消息時,我會註冊它的API。何時android gcm令牌過期

然後我會得到一個Gcm令牌「A」。 如果我永遠不會在Play商店升級我的應用版本代碼。 谷歌將刷新它與「B」和自動失效「A」?

如果是,它什麼時候可以做到。 我看過一些文章說,一旦「A」被刷新爲「B」,那麼當服務器嘗試發送消息到「A」時,服務器將得到新的註冊ID「B」。我現在想知道客戶端怎麼知道gcm令牌「A」已過期並被替換爲「B」

有人能回答我的問題嗎?

感謝

+0

它是否有幫助http://stackoverflow.com/questions/16838654/handling-registration-id-changes-in-google-cloud-messaging-on-android –

+0

非常感謝pankaj,這是很好的 – Xiaogegexiao

+0

[Firebase FCM force onTokenRefresh()被稱爲]的可能重複(http://stackoverflow.com/questions/37454501/firebase-fcm-force-ontokenrefresh-to-be-called) –

回答

2

是,實施onTokenRefresh()與DOC

當系統確定令牌需要刷新調用。應用程序應調用getToken()並將令牌發送給所有應用程序服務器。這不會被稱爲非常頻繁,它需要密鑰輪換和處理特殊情況。系統將限制所有設備的刷新事件,以避免使用令牌更新過載應用程序服務器。

+0

GCM密鑰旋轉頻率如何? –

0

定期地,令牌將過期,但它發生的確切時間量尚未由Google發佈。但是,有一些令牌可能會過期的其他實例。

Android Implementation Guide on Instance ID

實例ID服務定期啓動回調(例如,每6個月),請求您的應用程序刷新其令牌。它也可能在下列情況下啓動回調:

  • 存在安全問題;例如,SSL或平臺問題。
  • 設備信息不再有效;例如備份和恢復。
  • 實例ID服務受其他影響。

而且,我問了一個大問題(更像是一個一系列的問題)而回關於同一主題。這可能會幫助你:When do GCM Tokens Expire and What is the InstanceID?