2016-06-15 227 views
6

Firebase文檔明確指出應使用FirebaseInstanceIdService來訪問刷新的令牌,並且不再需要手動註冊,因爲該庫關心所有過程。Firebase令牌刷新

問題是onTokenRefresh只被調用一次,如果在將其傳輸到我的服務器的過程中出現問題,應用程序必須等到下一次刷新或完成卸載/重新安裝。

我可以應用與以前的GCM實施相同的邏輯嗎?也就是說,在我的應用程序的每一個開始我使用FirebaseInstanceId.getInstance().getToken()訪問令牌,並將其發送到我的服務器,而不是關心它是否已經發送。同樣的事情在onTokenRefresh完成。

這種方法有什麼缺陷嗎?

回答

3

我的建議是在當你被TOKEN存儲在本地第一次(可以是共享PREF)和

使一個標誌初始化爲假

,然後嘗試發送TOKEN到你的服務器它發送成功轉向標誌ti真實,並且不需要再發送。

+1

我將這個問題之後得出了相同的結論之外調用這個函數,但我會接受你的答案,因爲它是正確的! – Alessandro

9

而且,它似乎可以從服務

FirebaseInstanceId.getInstance().getToken();

+1

正確答案,謝謝 – pisumathu