eine Testregistrierung mit einer API (es ist kein echtes Gerät, ich habe einige zufällige Daten an den Notification Hub gesendet, aber die Nachrichtenvorlage sollte gültig sein).
Eine Benachrichtigung wird gesendet mit Methode SendTemplateNotificationAsync von NotificationHubClient führt zu PayloadErrors, die im Diagramm im Azure-Portal sichtbar sind. Leider habe ich keine Lust, 300 $ für ein Upgrade meines kostenlosen NotificationHub zu zahlen, nur um ein Problem zu beheben, bevor ich mit der Entwicklung meines Systems fortfahre. Vielleicht sehen einige von Ihnen, was mit meiner Anfrage oder Registrierung nicht stimmt?
- Screenshot der Vorlage-Anfrage
Code: Select all
// 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);
}
Die SendTemplateNotificationAsync-Methode gibt keinen Fehler zurück. Die Antwort besagt, dass die Nachricht in die Warteschlange gestellt wurde, aber nach ein paar Minuten kann ich im Metrikdiagramm im AZ-Portal sehen, dass Nachrichten aufgrund von Nutzlastfehlern nicht verarbeitet werden konnten. Leider sind detaillierte Fehlerdetails nur mit der Premium-Stufe zugänglich.
Unten sehen Sie, wie ich die SendTemplateNotificationAsync-Methode aufrufe:
Code: Select all
var outcome = await notificationHubClient.SendTemplateNotificationAsync(parameters, $"{districtId}_{type}");
Code: Select all
{
"alertType" : "Weather"
"title" : "Test alert 2"
"description" : "Content of test alert"
}