FCM中的通知节点和数据节点有什么区别



我已经读到不要在请求正文中添加通知节点,我尝试在没有通知节点的情况下发送,但似乎没有收到消息,但是当我添加通知节点时,它工作得很好

那么,Firebase 云消息传递中的通知节点和数据节点有什么区别?

{
"to": "/topics/some_topic",
"data": {
"key_1" : "some_value",
"key_2" : "some_value"
},
"notification":{
"body" : "some_message"
}
}

有没有我可以阅读的文档链接?

如果应用程序在后台/前台,则data节点用于发送通知,如果应用程序也位于某些手机中,则用于发送通知。

如果应用程序位于前台,则notification节点用于发送通知。如果在后台,您将不会收到通知。

我发现最好的选择是单独使用data节点。

在此链接中也得到了很好的解释:FCM 消息类型

通知节点(又名通知消息)

发送后,无论应用是否处于前台/后台/终止状态,这都会在设备上收到通知,但仅当应用不在前台时,才会显示通知。您可以将最大 4 KB 的数据有效负载捆绑在一起。好处是您不必担心每次都生成通知,图书馆会处理这个问题。缺点是没有办法不显示通知,例如,当您想静默地做某事时。

数据节点(又称数据消息)

发送时,这将触发与普通通知节点相同的所有回调,唯一的区别是通知不会自行弹出,您是自己回调的主人!当您想要静默执行某些操作(例如刷新缓存,更新数据库等)时,这很有用。由于数据节点将具有数据有效负载,并将在应用的任何状态下触发回调,因此您可以自行生成通知并启动它。这使您可以自由地设计通知