次のコマンドでいつでもトークンを取得できることに注意してください:
FirebaseInstanceID.getInstance().getToken();
これにより、null
が返されます トークンがまだ生成されていない場合、またはトークンが生成されている場合。あなたの場合、トークンはユーザーがサインインするまでに生成される可能性が非常に高いです。したがって、ユーザーがサインインするとすぐにアプリサーバーにトークンを送信できるはずです。トークンが利用できない場合は、 Chintan Soniが述べたように、onTokenRefreshコールバックで送信します。
編集
新しいFirebaseSDK(21.0.0)を使用すると、次の方法でトークンを取得できます:
FirebaseInstallations.getInstance().getToken(false).addOnCompleteListener(new OnCompleteListener<InstallationTokenResult>() {
@Override
public void onComplete(@NonNull Task<InstallationTokenResult> task) {
if(!task.isSuccessful()){
return;
}
// Get new Instance ID token
String token = task.getResult().getToken();
}
});
応答をより処理するためにリスナーを追加することをお勧めします。