firebase - 在 Flutter App 上更新 FCM Token
问题描述
我有一个 Flutter 应用程序,它在第一次运行时创建一个 FCM 令牌,如下所示:
_firebaseMessaging.getToken().then((token) {
//save my token here
});
但是,我知道这个令牌可以偶尔刷新一次。为了获得这个新的刷新令牌,我必须调用onTokenRefresh
方法:
Stream<String> fcmStream = _firebaseMessaging.onTokenRefresh;
fcmStream.listen((token) {
saveToken(token);
});
问题是我不知道这是否正确。该行saveToken(token)
始终在应用程序运行时执行,但在应用程序不在前台/后台时有效?
我onTokenRefresh
的意思是,即使用户关闭应用程序,这也会继续收听?
如果没有,如果应用程序长时间不启动,我如何获得新的令牌?
解决方案
基于此 firebase 文档fcm 令牌将在以下事件中更改:
- 应用删除实例 ID
- 该应用程序已在新设备上恢复
- 用户卸载/重新安装应用程序
- 用户清除应用数据
如果应用长时间未启动,且以上事件均未发生,则应用令牌不会更改。
推荐阅读
- chart.js - react-chartjs 2中的响应式图例字体大小
- javascript - 如何在array.map上仅对按下的索引进行动画处理
- reactjs - 是的,对非必填字段进行验证
- c# - openxml sax 方法,如何添加 SheetDimension
- flutter - 将 dynamoDB 中的数据检索回本地存储(Datastore) - Flutter
- java - 关于在java中将代码转换为函数样式
- python - 将多个参数传递给 docker 容器
- uwp - MSIX 安装程序会识别在 microsoft store 上发布的应用程序吗?
- spring-boot - mongobee兼容版spring boot
- r - 计算 R 中类似直方图的数据的汇总统计