这是我尝试从
firebase messaging
发送消息时出现的错误,如果有人能向我解释如何使其正确,我会非常高兴
W/FirebaseMessaging(11937): Unable to log event: analytics library is missing
W/FirebaseMessaging(11937): Unable to log event: analytics library is missing
D/FLTFireMsgReceiver(11937): broadcast received for message
I/flutter (11937): onMessage data: Instance of 'RemoteMessage'
这是我的
pushnotification.dart:
文件
import 'package:cab_driver/globalvariables.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_database/firebase_database.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
class PushNotificationService {
final FirebaseMessaging fcm = FirebaseMessaging.instance;
Future initialize() async {
FirebaseMessaging.instance.getInitialMessage().then((RemoteMessage message) {
print('getInitialMessage data: $message');
});
FirebaseMessaging.onMessage.listen((RemoteMessage message) async {
print("onMessage data: $message");
});
FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) {
print('onMessageOpenedApp data: $message');
});
}
Future<String>getToken() async{
String token = await fcm.getToken();
print('token: $token');
DatabaseReference tokenRef = FirebaseDatabase.instance.reference().child('drivers/${currentFirebaseUser.uid}/token');
tokenRef.set(token);
fcm.subscribeToTopic('alldrivers');
fcm.subscribeToTopic('allusers');
}
}
我想打印我从 firebase 消息发送的消息,但给出了与
I/flutter (11937): onMessage data: Instance of 'RemoteMessage'
相同的内容,请任何人都可以帮助我,我真的什么都不懂
RemoteMessage
不会覆盖 toString()
,所以这就是您看到 Instance of 'RemoteMessage
的原因。
您可以简单地从 RemoteMessage 对象中打印您想要的任何内容。例如,如果您对
data
属性感兴趣:
FirebaseMessaging.onMessage.listen((RemoteMessage message) async {
print("onMessage data: ${message.data}");
});
您可以对 RemoteMessage 中的 其他属性执行类似的操作。
因为
RemoteMessage
不会覆盖 toString()
。更好的选择是打印 message.toMap()
。
FirebaseMessaging.onMessage.listen((RemoteMessage message) async {
print("Message: ${message.toMap()}");
});