2016-12-26 16 views
3

私はアンドロイドアプリでプッシュ通知のためにFCMを使用しています。私はfcmトークンを取得するために以下のクラスを持っています。アプリのアップデート時にFCMトークンがリフレッシュされますか?

public class MyFirebaseInstanceIdService extends FirebaseInstanceIdService { 
    @Override 
    public void onTokenRefresh() { 
     String refreshedToken = FirebaseInstanceId.getInstance().getToken(); 
    } 
} 

これは、アプリケーションがインストールされ、トークンを取得できるときに正しく呼び出されます。しかし、私のアプリが(プレイストアから)更新されているかどうかはわかりませんが、このメソッドは呼び出されるかどうかはわかりません。トークンが変わるたびにメソッドが呼び出されることだけが書かれ​​ています。しかし、アプリケーションを更新してもトークンは変更されない可能性があります。場合

+0

はい更新時にトークンは変更されません。 –

+2

[リンクの説明をここに入力]を参照してください(http://stackoverflow.com/questions/39633285/ontokenrefresh-not-getting-called-in-signed-apk-if-previous-version-of-app-inst) –

答えて

0

からより多くの情報を見つけることができます/クリアデータをインストールする - 新しいトークンが生成されます。

更新日時:トークンは同じです。

onTokenRefreshed()を呼び出す場合は、手動で行う必要があります。

詳細については、hereをクリックしてください。

6

としては、登録トークンアプリをを更新されたときrefereshed ないで、コメント欄に@Dharmitabhattによってpostで指摘しました。システムは、トークンをリフレッシュする必要があると判断したときに呼び出され

:トークンがアンドロイドで更新されるたびに

は、それがonTokenRefresh()メソッドを呼び出す必要があります。アプリケーションはgetToken()を呼び出して、すべてのアプリケーションサーバーにトークンを送信する必要があります。

これは、非常に頻繁に呼び出されることはありません、それがキーローテーションのために必要であるとインスタンスIDを処理するためには、原因に変わり:

  • アプリケーションは、Appは、新しいデバイス
  • に復元されたインスタンスID
  • を削除しますユーザーがアンインストール/再インストールアプリ
  • ユーザーがアプリデータ

をクリアシステムでもリフレッシュを絞りますトークンの更新を伴うアプリケーション・サーバーのオーバーロードを回避するために、

あなたは、アプリケーションの更新が必ずしもトークンを更新するとは限りません。

+0

偉大な答えしかし、それに対する解決策は何ですか? –

+0

@ SamRamezanliこんにちは。私はあなたが探している解決策がわからない。 –

+0

こんにちは@AL。どうすればこの問題を克服できますか?私はfirebaseトークンを必要とする私のアプリに機能を追加しています。しかし、アプリケーションが更新を取得すると、このトークンは生成されないため、現在のユーザーはその機能を使用できなくなります。 どのようにしてトークンを再度生成させることができますか? –

関連する問題