【发布时间】:2021-12-09 07:58:02
【问题描述】:
这是我的 getrequestid 代码,它给了我错误:
参数类型 RemoteMessage 不能分配给参数类型'Map
'
所以我需要将远程消息转换为映射消息
final FirebaseMessaging firebaseMessaging=FirebaseMessaging.instance;
Future initialize(context) async {
FirebaseMessaging.onMessageOpenedApp.listen(
(RemoteMessage message) {
print("im clicked1");
getRideRequestId(message);
},
);
}
Future getToken() async{
String? token=await firebaseMessaging.getToken();
print("This Your Token");
print(token);
driversRef.child(currentfirebaseUser!.uid).child("token").set(token);
firebaseMessaging.subscribeToTopic("alldrivers");
firebaseMessaging.subscribeToTopic("allusers");
}
String getRideRequestId(Map<String,dynamic> message){
String rideRequestId="";
if(Platform.isAndroid){
rideRequestId=message['data']['ride_request_id'];
print("Print request id::");
print(rideRequestId);
}else{
rideRequestId=message['ride_request_id'];
}
return rideRequestId;
}
【问题讨论】:
-
这就是你想要的
getRideRequestId(message.data);? -
我试过了,但它再次给了我错误,尝试 requestid 为 null
-
你能显示
print(message.data);的输出吗? -
E/flutter (7007): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] 未处理的异常:NoSuchMethodError:方法 '[]' 在 null 上调用。 E/flutter(7007):接收者:null E/flutter(7007):尝试调用:[](“ride_request_id”)
-
感谢帮助它通过打印 message.data 解决了我的问题我得到了 [data][request_id] 所以我刚刚删除了 [data] 因为 message.data 我已经有了,再次感谢帮助兄弟
标签: android flutter firebase-realtime-database firebase-cloud-messaging