设置Fcm通知优先级-Azure通知中心

设置Fcm通知优先级-Azure通知中心,azure,notifications,Azure,Notifications,我试图在C#SDK中设置Fcm通知负载的高优先级,以便从后端将其发送到移动应用程序。 根据Fcm文档,Json Paylod应该如下所示: { "message":{ "topic":"subscriber-updates", "notification":{ "body" : "This week's edition is now available.", "title" : "NewsMagazine.com", }, "data"

我试图在C#SDK中设置Fcm通知负载的高优先级,以便从后端将其发送到移动应用程序。 根据Fcm文档,Json Paylod应该如下所示:

{
  "message":{
    "topic":"subscriber-updates",
    "notification":{
      "body" : "This week's edition is now available.",
      "title" : "NewsMagazine.com",
    },
    "data" : {
      "volume" : "3.21.15",
      "contents" : "http://www.news-magazine.com/world-week/21659772"
    },
    "android":{
      "priority":"normal"
    },
    "apns":{
      "headers":{
        "apns-priority":"5"
      }
    },
    "webpush": {
      "headers": {
        "Urgency": "high"
      }
    }
  }
}

在我的代码中,我使用Azure SDK尝试了不同的方法。 1

var result = await voipClient.SendFcmNativeNotificationAsync(payload, tag);
将此json作为有效负载

{
   "data":{
      "key":"value"   
},
   "android":{
      "priority":"high"

}
二,

将广告有效载荷放在我之前发布的广告上

在这两种情况下,我都会以正常优先级收到通知


你知道我在哪里犯了错误吗?

如果你查看Azure通知中心文档,你可能会感到困惑,因为它链接到FCM文档:FCM允许以不同的方式构建负载,通知中心更严格

您应该发送以下有效负载:

{
   "data":{
      "key1":"value1",
      "key2":"value2",

   },
  "priority":"high"
}
您发送到Notification Hub的负载实际上是Firebase负载中的“android”字段

注意: 如果在通知字段中设置标题,则通知中心会自动将优先级设置为高,如下所示:

{
  "notification": {
    "title":"any title"
  }
}
{
  "notification": {
    "title":"any title"
  }
}