2016-09-22 24 views
3

Androidアプリケーションのバージョン6でFCMを実装しました。私のアプリが以前にインストールされていない場合はonTokenRefresh()が呼び出されています。しかし、以前のバージョン(のFCMが実装されていない)のアプリがすでにインストールされていて、バージョン6でアップデートした場合、onTokenRefresh()は呼び出されません。署名付きAPKでonTokenRefreshが呼び出されない、インストールされているアプリの以前のバージョンにFCMが実装されていない場合

Playストアから以前のバージョンのアプリをアンインストールしてから新しいバージョンをインストールする必要がありますか?

答えて

2

私はそれがまだ意図された動作であるべきだと思います。 onTokenRefresh()はアプリがインストールされて初めてと呼ばれます。更新されるたびにではありません。そのため、おそらく、手動でこのpostに記載されているもののようにonTokenRefresh()を強制することができます:

手動onTokenRefresh()を強制したい場合、あなたはIntentServiceを作成し、トークンのインスタンスを削除することができます。次に、getTokenを呼び出すと、onTokenRefresh()メソッドが再度呼び出されます。

+1

はい、私はあなたの最初のFCMを使用してアプリを起動したときにトークンが生成されたアプリが更新されたときに呼び出され得ていないonTokenRefresh():( –

+1

と思う。あなたが後であなたのサービスを開始した場合、あなたが見逃しているかもしれ 'onTokenRefresh () '呼び出しを呼び出しますが、解決方法は簡単です:[現在の登録トークンを取得する]セクション(https://firebase.google.com/docs/cloud-messaging/android/)の説明に従ってFirebaseInstanceID.getToken()を呼び出します。あなたが通常は 'onTokenRefresh()'の中でどのようにそれを行うかをトークンで処理します。トークンがまだ生成されていなければ、 'null'を返します。その場合、あなたの 'onTokenRefresh()'が呼び出されます。 –

+0

入力をありがとう:) @FrankvanPuffelen –

関連する問題