Я пытаюсь отправить уведомление из моего внутреннего приложения на мобильные телефоны Android. Мне удалось установить устройства и удалить их. Теперь у меня проблемы с полезной нагрузкой сообщения. Мне нужно звуковое оповещение, и мне нужно отправить некоторые данные приложения в сообщении. Вот как я создаю полезную нагрузку сейчас, но я думаю, что это не очень хорошо:
string notificationText = NotificationText(story, profile);
JProperty messageJProperty = new JProperty("message", notificationText);
JObject messageJObject = new JObject(messageJProperty);
JProperty objectJProperty = new JProperty("data", messageJObject);
JObject message = new JObject(objectJProperty);
var payload = message.ToString();
return payload;
спасибо
обновление (3 ноября 2017 г.): я обнаружил, что этот формат полезной нагрузки будет принят Azure:
private string Payload(string notificationText, StoryEntity story, ProfileEntity profile, string deviceToken)
{
var payload = new JObject
(
new JProperty("registration_ids", new JArray(deviceToken)),
new JProperty("data", new JObject(
new JProperty("title", "Mapporia has new stroy>"),
new JProperty("message", notificationText)
)),
new JProperty("notId", $"{new Random().Next(int.MaxValue)}"),
new JProperty("content-available", 1),
new JProperty("soundname", "default"),
new JProperty("image", @"www/assets/img/logo.png"),
new JProperty("image-type", "circle"),
new JProperty("style", "inbox"),
new JProperty("notData", new JObject(
new JProperty("storyId", story.Id),
new JProperty("profileId", profile.Id)
))
).ToString(Newtonsoft.Json.Formatting.None);
return payload;
}
Вот как выглядит мой json:
Но теперь Azure выдает исключение:
1 11 ноября 2017 г. Создать историю: Удаленный сервер вернул ошибку: (400) Неверный запрос. Предоставленная полезная нагрузка уведомления недействительна.
Я что-то пропустил? Судя по этой странице, я построил ее неправильно!