簡體   English   中英

Firebase InstanceId未被刪除

[英]Firebase InstanceId not being deleted

我有一個正在部署的具有Firebase通知服務的Android應用。 與之關聯的google-services.json文件輸入錯誤。 我修復了.json文件,firebase服務現在對於新安裝的應用程序照常工作。 但是對於當前用戶,它不起作用(因為它仍在使用舊令牌)。

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

這不會被頻繁調用,它是密鑰旋轉和處理實例ID更改所必需的,原因是:

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

系統將限制所有設備上的刷新事件,以避免令牌更新使應用程序服務器超載。

我嘗試以編程方式刪除instanceId(因此我得到了一個新令牌); 它被刪除(不會引發異常),但是新令牌與舊令牌相同。

更改google-services.json是否應該自動觸發令牌更改?

我如何解決此問題而無需為當前用戶重新安裝該應用程序(更新時)?

我正在使用最新版本的Firebase和google-services(在Gradle中)。

您可以通過將新的APK提交到Play商店來更新您的應用。 因此,在老客戶更新您的APK之后,老客戶將被新的APK和新的google-services.json文件替換。 確保編寫代碼以調用onRefreshToken()方法並獲取新令牌並將其發送到服務器以進行進一步的通信。 更新時。 您的所有新客戶都將能夠收到通知。

@Override
public void onNewToken(String s) {
super.onNewToken(s);
Log.d("NEW_TOKEN",s);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM