4

我正在遷移到Firebase雲消息傳遞,我有一個疑問。 我的應用程序必須在啓動時顯示登錄屏幕,並且如果用戶在另一個帳戶中執行登錄,我必須停止向舊用戶發送通知。Firebase雲消息傳遞:最佳做法

  • 這樣做的最佳方法是什麼?
  • 我可以強制應用程序更新令牌嗎?
  • 或者我應該自己更新我的基地的代幣所有者嗎?

回答

4

內部應用程序如果您不想讓通知被髮送到舊的令牌,您應該更新實例ID令牌並忘記舊的令牌。在每次註銷和登錄時,都需要新的實例ID並更新您的外部數據庫(以防您的應用程序邏輯需要它)以及關於分配給該用戶的新令牌的信息:)生成新令牌沒有限制,並且您無法重複使用令牌。

更新令牌只是再次調用getToken()。

這是最好的方法,因爲InstanceID實際上已分配給「應用程序實例」,所以如果應用程序在設備上重新安裝或用戶刪除緩存,您將不得不獲得新的令牌。

+1

我安裝我的第一次應用,而且功能onTokenRefresh被調用,並給了我一個新的令牌。所以,在某些時候,我嘗試調用FirebaseInstanceId.getInstance()。getToken(),它給了我和前面一樣的標記。你說的重新生成令牌號碼的方法是什麼? –

0

在我開發的其中一個應用程序中,我在應用程序雲上處理了它。

雲有兩個表,一個用戶登錄的設備ID表,另一個用實例ID分配給設備。

您可以做的是,當用戶從設備註銷時,從用戶設備列表中刪除該設備ID,並在新用戶登錄時向設備添加設備ID。

當發送通知您可以用代幣和其他一切設備將精簡

相關問題