Обновление токена FCM в приложении Flutter

У меня есть приложение Flutter, которое создает токен FCM при первом запуске, например:

_firebaseMessaging.getToken().then((token) {
  //save my token here
});

Однако я понимаю, что этот токен можно периодически обновлять. Чтобы получить этот новый обновленный токен, я должен вызвать метод onTokenRefresh:

Stream<String> fcmStream = _firebaseMessaging.onTokenRefresh;
fcmStream.listen((token) {
  saveToken(token);
});

Проблема в том, что я не знаю, правильно ли это. Строка saveToken(token) всегда выполняется при запуске приложения, но работает, когда приложение не находится на переднем или заднем плане?

Я имею в виду, этот onTokenRefresh будет продолжать слушать, даже если пользователь закроет приложение?

Если нет, как мне получить новый токен, если приложение не запускается долгое время?

Вы уверены, что сгенерированный токен не будет изменен позже. вы проверили?

spycbanda 25.08.2020 08:04
Интеграция Angular - Firebase Analytics
Интеграция Angular - Firebase Analytics
Узнайте, как настроить Firebase Analytics и отслеживать поведение пользователей в вашем приложении Angular.
21
1
8 211
1

Ответы 1

База на токене fcm этот документ firebase будет изменена при следующих событиях:

  • Приложение удаляет идентификатор экземпляра
  • Приложение восстановлено на новом устройстве
  • Пользователь удаляет / переустанавливает приложение
  • Пользователь очищает данные приложения

Если приложение не запускается в течение длительного времени и не произошло ни одного из перечисленных выше событий, токен приложения не изменится.

Спасибо за ваш ответ. Если в документации написано это, то мне не о чем беспокоиться.

Notheros 02.11.2018 15:15

Другие вопросы по теме