gpt4 book ai didi

firebase - Flutter 无法调用用于 Firebase 云消息传递的回调函数

转载 作者:行者123 更新时间:2023-12-04 11:13:57 25 4
gpt4 key购买 nike

当我尝试添加回调函数时出现此错误 onBackgroundMessage用于 flutter firebase 云消息传递 .

flutter :在构建 HomeScreen(dirty) 时抛出了以下 ArgumentError:
flutter :无效参数:无法设置后台消息处理程序! onBackgroundMessageflutter:应该是顶级或静态函数,不应绑定(bind)到
flutter :类或匿名函数。
flutter :
flutter :相关的导致错误的小部件是:
flutter :主屏幕
flutter :file:///Users/sournvisal/Documents/projects/flutter-project/one_sala/lib/router.dart:17:39

请帮忙。
谢谢。

最佳答案

正如错误所说的onBackgroundMessage需要顶级静态功能

顶级功能 是一个类之外的函数。例子:

 Future<dynamic> myBackgroundMessageHandler(Map<String, dynamic> message) {
if (message.containsKey('data')) {
// Handle data message
final dynamic data = message['data'];
}

if (message.containsKey('notification')) {
// Handle notification message
final dynamic notification = message['notification'];
}

// Or do other work.
}

静态功能是类中的函数,但前缀为 static关键字并且不对实例进行操作,因此无权访问 this .
例子:
class Fcm {
static Future<dynamic> myBackgroundMessageHandler(Map<String, dynamic> message) {
if (message.containsKey('data')) {
// Handle data message
final dynamic data = message['data'];
}

if (message.containsKey('notification')) {
// Handle notification message
final dynamic notification = message['notification'];
}

// Or do other work.
}
}

关于firebase - Flutter 无法调用用于 Firebase 云消息传递的回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59507775/

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