Azure Конфигурация FCM NotificationHubClient для полезной нагрузки данных? - PullRequest
0 голосов
/ 23 марта 2020

Использование

NotificationHubClient hub = NotificationHubClient.CreateClientFromConnectionString(notificationHubConnection, notificationHubName, enableTestSend);
NotificationOutcome outcome = await hub.SendDirectNotificationAsync(fcmNotification, deviceUri);

Я могу отправлять и получать уведомления с помощью FCM через концентратор Azure в приложение Xamarin Android, наконец. Однако полезная нагрузка отсутствует в полученном RemoteMessage, хотя отправленная полезная нагрузка fcmNotification json выглядит хорошо и проходит проверку. Я в основном смотрю на свойство RemoteMessage.Data, но не нахожу ожидаемый массив полезной нагрузки. Глядя на структуру RemoteMessage, я также не нашел ни одной части массива полезных данных.

Я знаю, что хаб Azure управляет уведомлением, добавляя необходимые заголовки, такие как тип контента, например, "application / * 1011". *». Есть ли какие-либо другие параметры, которые необходимо передать, чтобы включить полезную нагрузку «только данные»?

1 Ответ

0 голосов
/ 31 марта 2020

Дополнительные настройки не обязательны, но формат содержимого всего уведомления должен иметь такую ​​структуру:

"{\" data \ ": {\" A \ ": \" aaa \ ", \" B \ ": \" bbb \ ", \" C \ ": \" ccc \ ", \" D \ ": \" ddd \ ", \" E \ ": \" eee \ ", \ "F \": \ "fff \"}} "

Количество элементов данных зависит от вас. Имя элемента данных может быть любым, а также связанным содержимым, за исключением необходимости использования backsla sh для специальных символов. И имя элемента, и содержимое можно вставить с помощью переменных, создающих традиционную составную строку.

Что особенно важно, это вставленные пробелы, как показано на рисунке. Также обратите внимание, что традиционное форматирование Json неприемлемо из-за необходимости в этих местах.

...