广播收到消息,但 FirebaseMessaging.onMessage.listen 未触发

问题描述 投票:0回答:1

我正在尝试使用 firebase 云功能和云消息发送通知/消息。 通知在后台有效,但在前台无效。

以下是云函数的python代码。

message = messaging.Message(
    token=receiver_device_token,
    notification=messaging.Notification(
        
        title= '*****',
        body=sender + ' sent you a message!'
    ),
    data = {"name": sender ,
            "imgURL" : imgURL }
    
    
)

我按照建议使用数据字典,所有键和值都是字符串。

在 Flutter 中,我在 void main() 中添加了以下基本代码

FirebaseMessaging.onMessage.listen((RemoteMessage message) {
  print('Got a message whilst in the foreground!');
  print('Message data: ${message.data}');

  if (message.notification != null) {
    print('Message also contained a notification: ${message.notification}');
  }
});

但是,当消息应该在前台接收时,我在 onMessage.listen 中没有收到任何打印语句,但在控制台中收到以下内容:

D/FLTFireMsgReceiver(15407):收到消息广播

我还尝试仅使用一个常量字符串值,例如“test”,插入我的发件人和 imgURL 变量,以确保这不是问题。还是没成功

flutter firebase google-cloud-functions firebase-cloud-messaging
1个回答
0
投票

这没有多大意义,但只需将以下内容添加到其顶部即可使其工作。

FirebaseMessaging messaging = FirebaseMessaging.instance;


await messaging.requestPermission(
alert: true,
announcement: false,
badge: true,
carPlay: false,
criticalAlert: false,
provisional: false,
sound: true,
);
© www.soinside.com 2019 - 2024. All rights reserved.