次のように、最初の実行時にFCMトークンを作成するFlutterアプリがあります。
__firebaseMessaging.getToken().then((token) {
//save my token here
});
_
ただし、このトークンは時々更新できることを理解しています。この新しい更新されたトークンを取得するには、onTokenRefresh
メソッドを呼び出す必要があります。
_Stream<String> fcmStream = _firebaseMessaging.onTokenRefresh;
fcmStream.listen((token) {
saveToken(token);
});
_
問題は、これが正しいかどうかわからないことです。行saveToken(token)
は、アプリの実行時に常に実行されますが、アプリがフォアグラウンド/バックグラウンドにないときに機能しますか?
つまり、このonTokenRefresh
は、ユーザーがアプリを閉じた場合でもリッスンし続けますか?
そうでない場合、アプリが長期間開始されない場合、どうすれば新しいトークンを取得できますか?
ベース このfirebaseドキュメント fcmトークンは、以下のイベントで変更されます:
アプリが長い間起動されておらず、上記のいずれのイベントも発生していない場合、アプリトークンは変更されません。