firebase - 在 Flutter App 上更新 FCM Token

我有一个 Flutter 应用程序,它会在第一次运行时创建一个 FCM token ,如下所示:

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

但是,我知道此 token 可以偶尔刷新一次。为了获得这个新的刷新 token ,我必须调用 onTokenRefresh 方法:

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

问题是我不知道这是否正确。 saveToken(token) 行总是在应用程序运行时执行,但它在应用程序不在前台/后台时工作?

我的意思是,即使用户关闭应用,这个 onTokenRefresh 也会继续监听?

如果不是,如果应用长时间不启动,如何获取新的token?

最佳答案

基于 this firebase document fcm token 将在以下事件中发生变化:

  • 应用删除实例 ID
  • 应用已在新设备上恢复
  • 用户卸载/重新安装应用程序
  • 用户清除应用数据

如果应用长时间未启动,且以上事件均未发生,则应用 token 不会更改。

https://stackoverflow.com/questions/51519863/

相关文章:

flutter - 如何将命令行参数(如 "-FIRAnalyticsDebugEnabled")传

dart - 在 TextSpan 中测试文本

dart - 多个小部件使用相同的 GlobalKey

android - RenderCustomMultiChildLayoutBox 对象在布局期间被

dart - 如何使用 Flutter 制作可滚动的包装 View ?

dart - 将 SliverFillRemaining 与 CustomScrollView 和

flutter - 文件选择器插件

ios - 如何使用 Runner.app 创建用于测试的 .ipa 文件?

dart - 如何在每个特定页面上添加文本?

security - Flutter - 如何隐藏或更改小部件,如最近使用的应用程序概述中所示