带Firebase的Rich Push通知,并在iOS设备上通过FCM发送推送通知

时间:2019-02-05 09:14:42

标签: swift firebase push-notification ios11 cordova-plugin-fcm

我已经通过Firebase Cloud Messaging集成了基于常规文本的推送通知。推送通过FCM服务器发送,并且工作正常。

但是我对基于媒体的推送通知(包括图像和基于媒体的通知)感到困惑。我还用以下提到的格式对邮递员控制台进行了测试:

使用服务api。

URL: https://fcm.googleapis.com/fcm/send

Method Type: POST

Headers:

Content-Type: application/json
Authorization: key=your api key
Body/Payload:

{ "notification": {
    "title": "Your Title",
    "text": "Your Text"
  },
    "data": {
      "message": "Offer!",
      "mediaUrl": "https://cdn.pixabay.com/photo/2018/01/21/01/46/architecture-3095716_960_720.jpg"
    },
  "to" : "to_id(firebase refreshedToken)"
}  

因此,我只收到基于普通文本的推送。在iOS 10或更高版本的设备中发送丰富通知的错误或正确方法应该是什么?

谢谢。

2 个答案:

答案 0 :(得分:0)

您应该在FCM有效负载中提供可变内容和可用内容。两者都是布尔值,并且必须在通知参数之外

{
  "to" : "to_id(firebase refreshedToken),
  "mutable_content": true,
  "content-available": true,
  "data": {
    "message": "Offer!",
    "mediaUrl": "https://cdn.pixabay.com/photo/2018/01/21/01/46/architecture-3095716_960_720.jpg
  },
  "notification": {
  "title": "my title",
  "subtitle": "my subtitle",
  "body": "some body"
 }
}

答案 1 :(得分:0)

正确的格式是这样(经过测试)

{
    "to": "deviceFCMtoken",

    "notification":{
        "title" : "Check this Title",
        "subtitle" : "Subtitle",
        "body" : "Body",
        "mutable_content" : true,
        "category" : "categoryID"
    },

    "data":{
        "image-url": "www.something.com"
    }

}