我正在尝试熟悉Firebase通知。它工作正常,但我没有在应用程序未开启时从通知控制台接收消息。
我知道文档说:
如果您的应用程序位于前台或后台,您可以在onMessageReceived方法中接收消息,否则用户将收到托盘中的通知...单击它将打开包含意图内数据的主要活动
但即使应用程序已关闭,有没有办法从通知控制台捕获每条消息?
==== ANSWER ====
找到答案here
无法从通知控制台发送数据消息。
但是还有其他方法可以向设备发送通知,并且它们将被捕获在onMessageReceived中!
您可以使用终端(Mac或Linux)或Postman等服务在此链接上发送帖子请求:https://fcm.googleapis.com/fcm/send
下一个身体:
{
"to": "/topics/your_topic_here",
"data": {
"text":"text",
"text1":"text1",
...
}
}
您还需要添加2个标题:
答案 0 :(得分:4)
onMessageReceived()方法如果应用程序处于后台,则不会调用 ,只有在通过Firebase控制台发送邮件时才会终止。
当应用未运行时,无论如何都会收到来自firebase控制台的通知。但是,如果您想通过 onMessageReceived()拦截数据,则必须创建一个自定义应用服务器,该服务器仅发送 数据有效负载到fcm端点。简而言之,如果您希望在这种情况下更有效地使用FCM,则必须创建应用服务器。
你可以看看这两个问题,讨论更多关于同样的问题,在第二个问题中,我还简要讨论了使用node.js和java servlet做同样的事情: