跨平台消息的Firebase Cloud Messaging格式

时间:2018-10-30 15:40:39

标签: android ios firebase apple-push-notifications firebase-cloud-messaging

我正在努力寻找适用于android和iOS的正确消息格式。

当前,我正在将以下JSON对象发送到firebase-server:

{
   "to":"\/topics\/news",
   "data":{
      "notId":258,
      "title":"TestHeader",
      "message":"TestBody",
      "newsId":258,
      "tstamp":1540913340,
      "image":"https:\/\/example.com\/csm_2017-WM20IA_779f1c4f03.jpg"
   },
   "priority":"high"
}

这在android上效果很好:显示具有指定图像的通知,该应用被调用到前台。 但是在ios上,什么也没有发生。不显示通知,也不会触发事件。

添加此内容:

   "notification":{
      "title":"TestHeader",
      "body":"TestBody"
   },

该对象在android和iOS上均会生成通知,但没有图像,也不会触发notificationReceived事件。

如何在iOS和android上构造JSON以获得所需的输出(通知图像,事件处理,将应用程序调用到前台)?

1 个答案:

答案 0 :(得分:0)

对于iOS通知,您需要在消息中包括参数 content_available:true

    {
       "to":"\/topics\/news",
       "content_available" : true,
       "data":{
          "notId":258,
          "title":"TestHeader",
          "message":"TestBody",
          "newsId":258,
          "tstamp":1540913340,
          "image":"https:\/\/example.com\/csm_2017-WM20IA_779f1c4f03.jpg"
       },
       "priority":"high"
    }

请检查官方文档Firebase message syntax

enter image description here

最诚挚的问候。