2017-01-11 61 views

回答

3

onTokenRefresh()被觸發已經包含在FirebaseInstanceIdService documentation事件:

當系統確定令牌需要刷新調用。應用程序應調用getToken()並將令牌發送給所有應用程序服務器。

這會不會非常頻繁地調用,它是需要密鑰輪換和處理實例ID的變化,由於:

  • 應用程序刪除實例ID
  • 應用程序是一個新的設備上還原
  • 用戶卸載/重新安裝應用
  • 用戶清除應用數據

該系統甚至會扼殺刷新以避免使用令牌更新過載應用程序服務器。

同樣如指定的那樣,FirebaseInstanceIdService類擴展了Service類,無論應用程序處於前景還是背景,該類都可以運行。

+0

當用戶從gcm更新應用程序到fcm然後不打開app.Will消息傳遞給用戶或無法訪問時會發生什麼? –

+1

@ronakPoriya當您提交消息時,將您的應用程序從GCM遷移到FCM不應有任何更改。 –

+0

消息傳遞代碼已遷移到類MyFirebaseMessagingService.Since,因爲FirebaseInstanceIdService中的onTokenRefresh()未調用,這不起作用。我的理解是否正確? –

2

這裏是onTokenRefresh()會調用。

  1. 該應用已安裝。
  2. 令牌受損。
  3. 令牌已更改。

因此,對於你的簡短答案是onTokenRefresh()方法將觸發,無論你的應用程序在前臺還是後臺。

相關問題