FirebaseMessaging.onMessage.listen() 仅适用于通知消息

FirebaseMessaging.onMessage.listen() only working for Notification messages

我目前正在开发 iOS 的应用程序,我想通过 Firebase 的云消息传递控制台发送推送通知,并通过 Java http 请求通过 https://fcm.googleapis.com/fcm/send 发送通知。我创建了一个 onMessage 监听器,如下所示:

FirebaseMessaging.onMessage.listen((RemoteMessage message) {
  print("onMessage listener fired");
  if (message != null) {
    PersonalFirebase.onMessageReceived(message, context, setState, flutterLocalNotificationsPlugin, notificationSettings.authorizationStatus);
  }
});

如果我在我的项目中通过 Firebase 控制台发送消息,此侦听器会成功触发,但是如果我尝试通过 HTTP 请求发送数据消息,即使我收到 200 响应代码,也不会发生任何事情。作为参考,这是我发送到 Java:

中的 http 请求的有效负载
    JSONObject values = new JSONObject();
    values.put("action", "show_message");
    values.put("title", "showMessageFunction");
    values.put("message", "Testing showMessage function");
    values.put("channel", "1");
    
    JSONObject parentData = new JSONObject();
    parentData.put("data", values);
    
    JSONObject message = new JSONObject();
    message.put("to", to);
    message.put("data", parentData); 
    

基本上我的问题如下:FirebaseMessaging.onMessage 是否仅适用于通过 Firebase 控制台发送的通知。如果是这样,对于通过 https://fcm.googleapis.com/fcm/send http 请求的数据消息,是否有 FirebaseMessaging.onMessage 的替代方法?

让我知道是否有任何我可以添加的帮助。

我们所要做的就是添加 message.put("content_available", true); 到我们消息 JSONObject 的末尾。 可以找到更多信息 .