firebase - 如何在 Flutter 上刷新 firebase 令牌?
问题描述
我有一个使用 Firebase 消息传递通知的 Flutter 应用程序。这是基本代码,除了将令牌保存在我的数据库中之外,它没有什么特别的。
FirebaseMessaging _firebaseMessaging = new FirebaseMessaging();
_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) {
},
onResume: (Map<String, dynamic> message) {
},
onLaunch: (Map<String, dynamic> message) {
},
);
_firebaseMessaging.getToken().then((token) {
saveToken(token);
});
我是否必须实施某种后台服务才能在每次刷新时将新令牌保存在我的数据库中?我记得onTokenRefresh()
在 Android(JAVA) 上使用过,但我在 Flutter (DART) 中一无所获。
我在某处读到令牌每 3600 秒刷新一次。我想知道这是不是真的。
解决方案
不,FCM 令牌不会每 3600 秒刷新一次。它仅在以下情况下刷新:
- 当用户卸载/重新安装应用程序或清除应用程序数据时
- 您使用手动删除 FCM 实例
FirebaseMessaging().deleteInstanceID()
您可以使用以下命令收听令牌刷新流:
FirebaseMessaging().onTokenRefresh.listen((newToken) {
// Save newToken
});
希望能帮助到你
推荐阅读
- r - 基于R中时间序列的平均值删除变量
- spring-boot - Spring Boot REST服务Kafka主题commitSync失败
- sas - 吐出打开的程序中使用的数据源和库
- haskell - 使用 floskell 格式化时,有没有办法不对齐我的代码?
- tableau-api - 使用列的 Tableau 筛选器
- javascript - 如何在第一张幻灯片上使用简单的密码保护网站
- javascript - Facebook 看起来很像登录重定向
- php - 从 symfony 4.4 中截取 login_check 路径
- security - 如何验证从 Web 下载到 Windows 10 的二进制文件的完整性
- javascript - 什么是递归乘法?