我目前正在开发一个iOS应用程序,希望通过Firebase的云消息控制台发送推送通知,并通过https://fcm.googleapis.com/fcm/send通过Java http请求。我创建了一个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控制台发送的通知吗。如果是,是否有FirebaseMessaging.onMessage的替代方案通过https://fcm.googleapis.com/fcm/sendhttp请求?
如果还有什么可以补充的,请告诉我。
我们所要做的就是添加message.put("content_available", true);
到我们的消息JSONObject的末尾。更多信息可以在这里找到。