onMessage 数据:“RemoteMessage”实例(想在控制台上打印消息)

Posted

技术标签:

【中文标题】onMessage 数据:“RemoteMessage”实例(想在控制台上打印消息)【英文标题】:onMessage data: Instance of 'RemoteMessage'(Want to print the message on console) 【发布时间】:2021-11-20 19:19:30 【问题描述】:

这是我尝试从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' 相同的内容,请任何人都可以帮助我,我真的什么都不懂

【问题讨论】:

【参考方案1】:

RemoteMessage 不会覆盖 toString(),这就是您看到 Instance of 'RemoteMessage 的原因。

您可以简单地从 RemoteMessage 对象打印您想要的任何内容。例如,如果您对 data 属性感兴趣:

FirebaseMessaging.onMessage.listen((RemoteMessage message) async 
  print("onMessage data: $message.data");
);

您可以为other properties in RemoteMessage 做类似的事情。

【讨论】:

你可以看看这个@Noel (***.com/questions/69374859/…) 没有得到这个

以上是关于onMessage 数据:“RemoteMessage”实例(想在控制台上打印消息)的主要内容,如果未能解决你的问题,请参考以下文章

WebSocket 频繁 onmessage 零拷贝

服务器发送事件; `EventSource.onmessage`没有触发

使用 onMessage (OkHttp) 的输出?

Vue.js 在 websocket onmessage 事件中更新 html

window.onmessage 在反应 js 组件中不起作用

如何判断 websocket onmessage 的参数类型?