Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase FCM中通知节点和数据节点的区别是什么_Firebase_Firebase Cloud Messaging_Google Cloud Functions - Fatal编程技术网

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

Firebase FCM中通知节点和数据节点的区别是什么,firebase,firebase-cloud-messaging,google-cloud-functions,Firebase,Firebase Cloud Messaging,Google Cloud Functions,我已经读到不在请求主体中添加通知节点,并且我尝试在没有通知节点的情况下发送消息,但似乎没有收到消息,但是当我添加通知节点时,它工作得很好 那么,Firebase云消息传递中的通知节点和数据节点的区别是什么? { "to": "/topics/some_topic", "data": { "key_1" : "some_value", "key_2" : "some_value" }, "notification":{

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

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

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

是否有指向我可以读取的文档的链接?

如果应用程序位于后台/前台,则使用
数据
节点发送通知;如果应用程序也被终止,则在某些手机中发送通知

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

我发现最好的选择是单独使用
数据
节点


在这个链接中也有很好的解释:

通知节点(也称为通知消息)

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

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

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