更新Flutter应用程序上的FCM代币



我有一个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
  • 应用程序已在新设备上还原
  • 用户卸载/重新安装应用程序
  • 用户清除应用程序数据

如果应用程序长时间未启动,并且没有发生上述事件,则应用程序令牌不会更改。

相关内容

  • 没有找到相关文章

最新更新