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 的末尾。
可以找到更多信息 .
我目前正在开发 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 的末尾。
可以找到更多信息