Я создал тестовая регистрация с помощью API (это не настоящее устройство, я отправил случайные данные в центр уведомлений, но шаблон сообщения должен быть действительным).
Отправка уведомления с методом SendTemplateNotificationAsync NotificationHubClient приводит к появлению ошибок PayloadErrors, видимых на диаграмме на портале Azure. К сожалению, мне не хочется платить 300 долларов за обновление моего бесплатного уровня NotificationHub только для того, чтобы отладить проблему, прежде чем приступить к работе с моей системой. Может быть, кто-то из вас увидит, что не так с моим запросом или регистрацией?
- Скриншот шаблона запроса
// the foreach loops are irrevelant to the topic
private async Task RegisterAndroidDevice(RegisterDeviceCommand command)
{
var tasks = new List();
foreach (var template in command.Templates)
{
foreach (var districtId in command.DistrictIds)
{
tasks.Add(notificationHubClient.CreateFcmV1TemplateRegistrationAsync(command.InstallationId, template.Value, new List() { $"{districtId}_{template.Key}" }));
}
}
await Task.WhenAll(tasks);
}
где значение {"message":{"title":"$(title)", "description":"$(description)"}}, как можно можно увидеть в этой регистрации, которая существует на снимке экрана Центра уведомлений.
Метод SendTemplateNotificationAsync не возвращает никаких ошибок. В ответе говорится, что сообщение было поставлено в очередь, но через несколько минут я вижу на диаграмме метрик на портале AZ, что сообщения не удалось обработать с ошибками полезной нагрузки. К сожалению, подробные сведения об ошибке доступны только для премиум-уровня.
Ниже вы можете увидеть, как я вызываю метод SendTemplateNotificationAsync:
var outcome = await notificationHubClient.SendTemplateNotificationAsync(parameters, $"{districtId}_{type}");
Где параметры — это пара ключ-значение, например:
{
"alertType" : "Weather"
"title" : "Test alert 2"
"description" : "Content of test alert"
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... tification
Мобильная версия