与我使用通知或数据的有效负载看起来相同
{"notification":{"body":"Notification Hub test notification"}}
我以为通知有效负载仍然可以接收通知,即使它已关闭而不是后台或前台。我尝试过,但是当应用程序处于非活动状态时似乎没有收到有效载荷。
似乎数据和通知我收到的结果相同
答案 0 :(得分:1)
Firebase Cloud Messaging支持两种类型的消息,即通知消息和数据消息。它们之间的区别在于,使用数据消息时,您可以在消息中发送自己的数据元素,而使用通知消息时,则必须使用预定义的元素。
顾名思义,通知消息类型用于发送通知,该通知将在通知栏中显示为通知。 FCM自动处理通知消息,您的应用程序也可以对其进行处理和自定义。数据消息类型用于将数据发送到客户端。您的应用必须对其进行处理并采取进一步的措施。可发送给客户端的邮件大小限制为4kb。
JSON格式的通知消息
{"message":{"topic":"deals","notification":{"body":"View latest deals from top brands.","title":"Latest Deals"}}}
JSON格式的数据消息
{"message":{"topic":"deals","data":{"storeNAME":"Nordstorm","deal":"Get upto 50% off on Shoes","dealDesc":"Get upto 50% off on branded shoes.","expiry":"20180110","code":"NORDSH"}}}
JSON格式的通知和数据消息
{"message":{"topic":"deals","data":{"storeNAME":"Nordstorm","deal":"Get upto 50% off on Shoes","dealDesc":"Get upto 50% off on branded shoes.","expiry":"20180110","code":"NORDSH"},"notification":{"body":"View latest deals from top brands.","title":"Latest Deals"}}}
请注意,在数据消息中,数据元素下仅允许名称和值对,这意味着数据元素不能具有分层数据或JSON数组。
答案 1 :(得分:0)
当应用程序后台运行时,通知有效负载将由OS自动处理。数据有效载荷始终交付给您的应用程序代码。