gpt4 book ai didi

flutter - Firebase_messaging onResume 和 onLaunch 回调不会在 Flutter 中调用

转载 作者:行者123 更新时间:2023-12-03 19:42:58 25 4
gpt4 key购买 nike

我想做什么

当用户点击通知托盘中的 fcm 通知时,我想导航到特定屏幕。

我的密码

我遵循了与 pub.dev 上提到的 6.0.9 版完全相同的说明。

这是我的实现:

_fcm.configure(
onMessage: (Map<String, dynamic> message) async {
print('@onMessage: $message');
},
onResume: (Map<String, dynamic> message) async {
print('@onResume: $message');
Navigator.push(context,
MaterialPageRoute(builder: (context) => NotificationsScreen()));
},
onLaunch: (Map<String, dynamic> message) async {
print('@onLaunch: $message');
Navigator.push(context,
MaterialPageRoute(builder: (context) => NotificationsScreen()));
});

插件版本: firebase_messaging:^6.0.9

我还添加了这些配置:

app/build.gradle:
implementation 'com.google.firebase:firebase-messaging:20.1.0'
项目/build.gradle:
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:'1.3.50'"
classpath 'com.google.gms:google-services:4.3.3'

预期输出

当用户点击背景中的通知时,将调用 onResume 或 onLaunch 回调并将其重定向到上述屏幕。

实际产量

当应用程序在前台时正确调用 onMessage 时,不会调用 onResume 和 onLaunch。

最佳答案

如果通知负载未命中 "click_action": "FLUTTER_NOTIFICATION_CLICK"然后
onclick 和 onresume 函数将不会被调用。但 onmessage 函数将完美运行。
尝试在终端中使用此有效负载

DATA='{"notification": {"body": "this is a body","title": "this is a title"}, "priority": "high", "data": {"click_action": "FLUTTER_NOTIFICATION_CLICK",  "route":"booking", "bookingId":"319", "userType":"host", "status": "done"}, "to": "<FCM TOKEN>"}'
curl https://fcm.googleapis.com/fcm/send -H "Content-Type:application/json" -X POST -d "$DATA" -H "Authorization: key=<FCM SERVER KEY>"

FLUTTER_NOTIFICATION_CLICK 必须调用 onresume 和 onmessage

关于flutter - Firebase_messaging onResume 和 onLaunch 回调不会在 Flutter 中调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60303204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com