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

6

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

{
  "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"

}

2

var notification = new FcmNotification(payload);
notification.Headers.Add("android", "{\"priority\": \"high\"}");

将之前我发布的广告有效负载放置

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

您知道我犯了什么错误吗?

1个回答

6
如果您查看Azure Notification Hub文档,可能会感到困惑,因为它链接到FCM文档:FCM允许使用不同的方式构建有效负载,而Notification Hub则更为严格。您应该发送以下有效负载:
{
   "data":{
      "key1":"value1",
      "key2":"value2",

   },
  "priority":"high"
}

你发送到通知中心的负载实际上是 Firebase 负载内的 "android" 字段。
注意:如果您在通知字段中设置标题如下,通知中心会自动将优先级设置为高。
{
  "notification": {
    "title":"any title"
  }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接