【发布时间】:2021-04-28 05:17:16
【问题描述】:
Future<Map<String, dynamic>> sendAndRetrieveMessage({String thatToken, String bodyMessage, String titleMessage}) async {
print('\n$thatToken' + '\n$bodyMessage' + '\n$bodyMessage');
await firebaseMessaging.requestPermission(
sound: true,
badge: true,
alert: true,
provisional: false,
);
await http.post(
'https://fcm.googleapis.com/fcm/send',
headers: <String, String>{
'Content-Type': 'application/json',
'Authorization': 'key=$serverToken',
},
body: jsonEncode(
<String, dynamic>{
'notification': <String, dynamic>{'body': 'this is a body', 'title': 'this is a title'},
'priority': 'high',
'data': <String, dynamic>{'click_action': 'FLUTTER_NOTIFICATION_CLICK', 'id': '1', 'status': 'done'},
'to': thatToken,
},
),
);
final Completer<Map<String, dynamic>> completer = Completer<Map<String, dynamic>>();
FirebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async {
completer.complete(message);
},
);
return completer.future;
}
世界你好!上面的代码是我之前使用的firebaseMessaging配置代码,今天终于尝试迁移到最新版本,即8.0.0-dev.14 firebaseMessaging。在这里,我遇到了棘手的问题要解决。迁移文档说 '.configure()' 已被完全删除,我必须为每种情况使用自定义静态方法。那么问题来了。
我可以遵循从源代码迁移的其他部分的替代指南,但我无法找出执行与上述代码相同的功能所需的确切代码 sn-p。这是因为我对那些 Completer 或配置到底在做什么只有很少的想法。我的错..]:
所以,我希望已经解决了这些迁移问题的人,尤其是“配置”方法可以帮助我。最后,下面的代码是其错误消息的罪魁祸首。提前谢谢你[:
FirebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async {
completer.complete(message);
},
);
上述 sn-p 的错误消息:错误:未为类型“FirebaseMessaging”定义方法“配置”。
【问题讨论】:
标签: firebase flutter dart firebase-cloud-messaging flutter-dependencies