我正在尝试在 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"
}
2
var notification = new FcmNotification(payload);
notification.Headers.Add("android", "{\"priority\": \"high\"}");
将广告负载放入我之前发布的广告负载
在这两种情况下,我都会收到具有正常优先级的通知。
你知道我哪里出错了吗?
最佳答案
如果您查看 Azure 通知中心文档,您可能会感到困惑,因为它链接到 FCM 文档:FCM 允许使用不同的方式来构建有效负载,通知中心更严格。
您应该发送以下有效负载:
{
"data":{
"key1":"value1",
"key2":"value2",
},
"priority":"high"
}
您发送到通知中心的负载实际上是 Firebase 负载内的“android”字段。
注意: 如果您按如下方式设置通知字段内的标题,则通知中心会自动将优先级设置为高:
{
"notification": {
"title":"any title"
}
}
关于azure - 设置 Fcm 通知优先级 - Azure 通知中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60508039/