Pet*_*tro 5 firebase-security firebase-authentication flutter firebase-cloud-messaging
使用firebase_messaging: ^13.0.2我不确定如何强制刷新 FCM 令牌...而不注销用户。我注意到注销+重新登录时它会刷新。
根据谷歌文档,只有 3 种方法可以刷新令牌:
https://firebase.google.com/docs/cloud-messaging/manage-tokens
我作为侦听器在启动时运行的内容:
FirebaseMessaging firebaseMessaging = FirebaseMessaging.instance;
tokenStream = firebaseMessaging.onTokenRefresh.listen((event) {
if (currentUser != null) {
print('token $event');
currentUser!.fcmToken = event;
FireStoreUtils.updateCurrentUserfcmToken(currentUser!);
}
});
Run Code Online (Sandbox Code Playgroud)
如何强制刷新此令牌?这不起作用并产生与运行删除之前相同的标记值...
FirebaseMessaging.instance.deleteToken().then((value) =>
FirebaseMessaging.instance.getToken().then((value) {
currentUser!.fcmToken = value;
FireStoreUtils.updateCurrentUserfcmToken(currentUser!);
}));
Run Code Online (Sandbox Code Playgroud)
如果您想知道为什么我要刷新,请参阅我的其他帖子: IOS 通知停止工作,直到 FCM 令牌刷新
您是否尝试过使用此方法删除令牌?
FirebaseMessaging.instance.deleteToken()
Run Code Online (Sandbox Code Playgroud)
如果这没有帮助,您可以尝试先删除令牌并请求新令牌,然后您将在 onTokenRefresh 中收到新令牌的新事件
FirebaseMessaging.instance.deleteToken().then((value) => FirebaseMessaging.instance.getToken());
Run Code Online (Sandbox Code Playgroud)
这肯定会生成我测试过的新令牌。
| 归档时间: |
|
| 查看次数: |
6348 次 |
| 最近记录: |