使用 Firebase 的消息传递不像 Firebase 控制台

Messaging using Firebase do not behave like Firebase console

我可以从家里的服务器向 Firebase 服务器成功发送 post 请求。消息已毫无问题地传递给客户端。 除了应用程序必须 运行 或在后台。 如果应用程序已关闭,则消息会进入 limbo。系统托盘里什么都没有,没有声音,什么都没有。 这是预期的行为吗?

这是我正在使用的 curl 命令:

curl -X POST --header "Authorization: key=AIzaSyBntseBqux9nBX8y" --Header "Content-Type: application/json" https://fcm.googleapis.com/fcm/send -d "{\"to\":\"fxhL9uQBYUo:APA91bGaEWqTJ2mde1vSlfOZWHYrYTQLbZdFih2hs_wszaxPsthfMN5lnxH6RHquUImmT\",\"data\":{\"action\":\"run\"}}"

我是否遗漏了一些使设备像现在一样运行的额外字段?

PS: 服务器密钥和令牌不是真实的。

您的代码正在发送数据消息,Firebase 通知控制台发送通知消息。

这两种消息的一个很大区别是,如果您的应用程序不在前台,通知消息会自动显示在系统通知区域。

Firebase documentation explaining the difference between these message types 中查看此页面。