Настройка приоритета уведомления Fcm - Azure Центр уведомлений - PullRequest
0 голосов
/ 03 марта 2020

Я пытаюсь установить Высокий приоритет для полезной нагрузки уведомления Fcm в C# SDK, чтобы отправить его мобильному приложению из Back-End. В соответствии с документацией 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\"}");

Размещение рекламного контента, который я разместил ранее

В обоих случаях я получаю уведомление с обычным приоритетом.

Знаете ли вы, где я делаю ошибки?

1 Ответ

2 голосов
/ 03 марта 2020

Если вы посмотрите на документацию Azure Notification Hub, вы можете запутаться, поскольку она ссылается на документацию FCM: FCM позволяет создавать полезные данные различными способами, а Notification Hub более строгий.

Вам следует отправить следующую полезную нагрузку :

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

   },
  "priority":"high"
}

Полезная нагрузка, которую вы отправляете в Notification Hub, фактически является полем "android" внутри полезной нагрузки Firebase.

Примечание: Приоритет установлен автоматически устанавливается на high через Notification Hub, если вы установили заголовок в поле уведомления следующим образом:

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