【问题标题】:Notification for android: what is different between notification and data payloadAndroid 通知:通知和数据有效负载有什么不同
【发布时间】:2019-09-08 06:21:09
【问题描述】:

它看起来与我使用通知或数据的有效负载相同

{"notification":{"body":"Notification Hub test notification"}}

我认为通知负载即使关闭而不是后台或前台仍然可以接收通知。我试过了,但在应用处于非活动状态时似乎没有收到有效负载。

似乎数据和通知我都收到了相同的结果

【问题讨论】:

    标签: android firebase xamarin firebase-cloud-messaging


    【解决方案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数组。

    【讨论】:

    • 要添加更多上下文通知负载由操作系统处理,而数据负载不是您需要在服务中手动处理。
    【解决方案2】:

    当应用程序处于后台时,通知负载由操作系统自动处理。数据负载始终传送到您的应用程序代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-31
      • 2016-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多