Ich habe eine Beispielanwendung mit Cordova und einer Mvc5-Anwendung erstellt, die mit Azure Notification Hubs kommuniziert. Registrierungen werden vom Backend übernommen, da Tags gesichert werden müssen.
Wir haben drei verschiedene Vorlagen verwendet, die vom Backend für die Plattformen iOS, WP8 und Android registriert wurden. Das Backend kann eine Push-Benachrichtigung mit einer $message
-Nutzlast unter Verwendung von sendtemplatenotificationasync
senden.
Es funktioniert, aber wir haben das templateName
nicht benutzt.
Lesen Sie die Registrierung in Ihrer App-Backend Dokumentation. Ich habe Folgendes gefunden:
"Sie können die Vorlagen identifizieren, indem Sie die Eigenschaft TemplateName von verwenden die Registrierung ".
Sobald ich erfolgreich eine Registrierung mit einem Vorlagennamen erstellt habe > Was kann ich damit machen?
Ich habe erwartet, eine API-Send-Methode zu finden, um neben dem Tag- oder Tag-Ausdruck ein bestimmtes templateName
; Ich habe so etwas nicht gefunden.
Was ist die Bedeutung und der allgemeine Anwendungsfall von templateName
?
Der Vorlagenname ist nur eine beschreibende Bezeichnung für die Vorlagenregistrierung. Es ist nicht für die programmatische Identifizierung von Registrierungen vorgesehen und daher gibt es keine API-Methoden, die den Vorlagennamen verwenden. Sie sollten es nur für das Debuggen oder Protokollieren verwenden. (Ich stelle keine Vorlagennamen ein ...)
Sie können das offizielle ANH Java SDK auf GitHub zum Beispiel überprüfen Wenn Sie nach "templatename ", Sie finden keine andere Verwendung als den Vorlagennamen für eine Registrierung festzulegen.
Alle Ihre Vorlagen sollten die gleichen Vorlagenparameter verwenden, wenn sie für den gleichen Benachrichtigungstyp vorgesehen sind. Dann senden Sie einfach eine Vorlagenbenachrichtigung mit allen Parametern an alle Plattformen gleichzeitig. Das ist der Anwendungsfall für Vorlagenregistrierungen. Soweit ich weiß, können Sie zusätzliche Parameter für bestimmte Plattformen haben, Registrierungen, die keinen Parameter angeben, erhalten sie einfach nicht. Stellen Sie sicher, dass Sie alle Parameter senden, die in allen Vorlagen definiert sind.
Wenn Sie zwischen Registrierungen mit verschiedenen Vorlagen unterscheiden möchten, verwenden Sie Tags, z. Verwenden Sie zur Unterscheidung von Plattformen Tags wie "Platform: Android", "Platform: iOS" usw. Oder zur Unterscheidung von Templates mit unterschiedlichen Parametern verwenden Sie "Template: PersonalMessage", "Template: GroupMessage", "Template: BroadCast", etc ...
Nehmen wir an, Sie haben iOS- und Android-Clients. Für iOS würden Sie sich mit einer Vorlage registrieren, die mit iOS kompatibel ist, und für Android würden Sie sich mit Vorlage registrieren, die für Android kompatibel ist. Dann, wenn Sie Ihre Nachricht senden, wird es entsprechend formatiert.
Wir haben es im Vergleich zu Microsoft sogar ein bisschen anders gemacht. Unsere Kunden (iOS oder Android) stellen Vorlagen zur Verfügung, sodass Backend-Entwickler diese Details nicht kennen müssen. Mehr hier: Ссылка
Tags und Links azure push-notification c# azure-notificationhub