Allgemein
Wie ist die Ressourcenstruktur von Notification Hubs aufgebaut?
Azure Notification Hubs umfasst zwei Ressourcenebenen: Hubs und Namespaces. Ein Hub ist eine zentrale Ressource für Pushbenachrichtigungen, die plattformübergreifende Push-Informationen einer App enthalten kann. Ein Namespace ist eine Sammlung von Hubs in einem Bereich. Bei der empfohlenen Zuordnung wird ein einzelner Namespace mit einer einzelnen App verknüpft. Ein Namespace kann einen Produktionshub enthalten, der mit Ihrer Produktions-App zusammenarbeitet, einen Test-Hub, der mit Ihrer Test-App zusammenarbeitet, usw.
Welches Preismodell gilt für Notification Hubs?
Aktuelle Preisinformationen finden Sie auf der Seite Notification Hubs – Preise. Die Abrechnung für Notification Hubs erfolgt auf Namespaceebene. (Die Definition des Begriffs „Namespace“ finden Sie unter „Wie ist die Ressourcenstruktur von Notification Hubs aufgebaut?“.) Für Notification Hubs stehen drei Tarife zur Verfügung:
- Free: Dieser Einstiegstarif eignet sich sehr gut, um sich mit Pushfunktionen vertraut zu machen. Für Produktions-Apps ist er nicht zu empfehlen. Sie erhalten 500 Geräte und 1 Million Pushbenachrichtigungen pro Abonnement und Monat. Eine SLA-Garantie (Service Level Agreement, Vereinbarung zum Servicelevel) ist nicht enthalten.
- Basic: Dieser Tarif (oder der Standard-Tarif) wird für kleinere Produktions-Apps empfohlen. Sie erhalten 200.000 Geräte und 10 Millionen Pushbenachrichtigungen pro Abonnement und Monat als Basis.
- Standard: Dieser Tarif wird für mittelgroße bis große Produktions-Apps empfohlen. Sie erhalten 10 Millionen Geräte und 10 Millionen Pushbenachrichtigungen pro Abonnement und Monat als Basis. Enthält umfangreiche Telemetriedaten (zusätzliche Daten zum bereitgestellten Pushstatus).
Features des Standard-Tarifs:
- Umfangreiche Telemetrie: Mit der Telemetrie auf Nachrichtenbasis von Notification Hubs können Sie Pushanforderungen und Feedback des Plattformbenachrichtigungssystems zu Debuggingzwecken nachverfolgen.
- Mehrinstanzenfähigkeit: Sie können Anmeldeinformationen des Plattformbenachrichtigungssystems auf Namespaceebene verwenden. Dadurch können Sie Mandanten innerhalb eines Namespaces problemlos in Hubs unterteilen.
- Geplante Pushbenachrichtigungen: Sie können das Senden von Benachrichtigungen für einen beliebigen Zeitpunkt planen.
- Massenvorgänge: Ermöglicht Registrierungen für Export/Import wie im Dokument Vorgehensweise: Massenhaftes Exportieren und Ändern von Registrierungen beschrieben.
Was ist die Notification Hubs-SLA?
Bei den Notification Hubs-Tarifen „Basic“ und „Standard“ können ordnungsgemäß konfigurierte Anwendungen in mindestens 99,9 Prozent der Fälle Pushbenachrichtigungen senden oder Registrierungsverwaltungsvorgänge ausführen. Weitere Informationen zur Vereinbarung zum Servicelevel finden Sie auf der Seite SLA für Notification Hubs.
Hinweis
Da Pushbenachrichtigungen auf Plattformbenachrichtigungssysteme von Drittanbietern wie dem Push Notification Service von Apple (APNs) oder Firebase Cloud Messaging von Google (FCM) angewiesen sind, wird die Übermittlung derartiger Nachrichten nicht per SLA garantiert. Nachdem Notification Hubs die Batches an Plattformbenachrichtigungssysteme gesendet hat (was per SLA garantiert wird), sind die Plattformbenachrichtigungssysteme für die Zustellung der Pushbenachrichtigungen zuständig (nicht per SLA garantiert).
Wie stufe ich meinen Hub oder meinen Namespace auf einen anderen Tarif hoch oder herab?
Navigieren Sie zu Azure portal>Notification Hubs-Namespaces oder Notification Hubs. Wählen Sie die Ressource aus, die Sie aktualisieren möchten, und navigieren Sie zu Tarif. Beachten Sie folgende Punkte:
- Der aktualisierte Tarif gilt für alle Hubs in dem Namespace, mit dem Sie arbeiten.
- Falls die Anzahl von Geräten den Grenzwert des niedrigeren Tarifs übersteigt, zu dem Sie wechseln möchten, müssen Sie zuerst Geräte löschen.
Entwurf und Entwicklung
Welche dienstseitigen Plattformen werden unterstützt?
Server-SDKs sind für .NET, Java, Node.js, PHP und Python verfügbar. Die APIs von Notification Hubs basieren auf REST-Schnittstellen, sodass Sie direkt mit REST-APIs arbeiten können, wenn Sie andere Plattformen verwenden oder weitere Abhängigkeiten vermeiden möchten. Weitere Informationen finden Sie auf der REST-APIs für Notification Hubs.
Welche Clientplattformen werden unterstützt?
Pushbenachrichtigungen werden für iOS, Android, Windows Universal, Windows Phone, Android China (via Baidu), Xamarin (iOS und Android) und Safari unterstützt. Weitere Informationen finden Sie auf der Seite Einführungstutorials für Notification Hubs.
Werden SMS-, E-Mail- oder Webbenachrichtigungen unterstützt?
Notification Hubs sendet Benachrichtigungen an Geräte, auf denen mobile Apps ausgeführt werden. E-Mail- oder SMS-Funktionen stehen nicht zur Verfügung. Notification Hubs bietet auch keinen vorgefertigten Zustelldienst für Browserpushbenachrichtigungen. Kunden können dieses Feature implementieren, indem sie zusätzlich zu den unterstützten serverseitigen Plattformen SignalR verwenden.
Wie viele Geräte kann ich unterstützen, wenn ich Pushbenachrichtigungen über Notification Hubs sende?
Auf der Seite Notification Hubs – Preise finden Sie ausführliche Informationen zur Anzahl unterstützter Geräte.
Wenn Sie Unterstützung für mehr als 10 Millionen registrierte Geräte benötigen, müssen Sie Ihre Geräte über mehrere Namespaces partitionieren.
Wie viele Pushbenachrichtigungen kann ich senden?
Je nach gewähltem Tarif erfolgt die Skalierung von Azure Notification Hubs automatisch auf der Grundlage der Anzahl von Benachrichtigungen, die das System durchlaufen.
Hinweis
Die Gesamtkosten für die Nutzung können sich abhängig von der Anzahl gesendeter Pushbenachrichtigungen erhöhen. Machen Sie sich daher auf der Seite Notification Hubs – Preise mit den Grenzwerten der einzelnen Tarife vertraut.
Unsere Kunden senden mit Notification Hubs täglich mehrere Millionen von Pushbenachrichtigungen. Solange Sie Azure Notification Hubs verwenden, müssen Sie sich nicht extra um die Skalierung der Reichweite Ihrer Pushbenachrichtigungen kümmern.
Wie lange dauert das Senden der Pushbenachrichtigungen auf mein Gerät?
In einem normalen Nutzungsszenario mit konstanter Eingangslast ohne nennenswerte Spitzen kann Azure Notification Hubs pro Minute mindestens eine Million Sendevorgänge für Pushbenachrichtigungen verarbeiten. Diese Rate kann abhängig von der Anzahl von Tags, der Art der eingehenden Sendevorgänge und anderen externen Faktoren variieren.
Während der geschätzten Zustellzeit berechnet der Dienst die Ziele pro Plattform und leitet Nachrichten auf der Grundlage der registrierten Tags oder Tagausdrücke an den entsprechenden Pushbenachrichtigungsdienst (Push Notification Service, PNS) weiter. Der PNS hat die Aufgabe, die Benachrichtigungen an das Gerät zu senden.
Die Zustellung von Benachrichtigungen durch den PNS wird nicht per SLA garantiert. Die meisten Pushbenachrichtigungen werden allerdings nach dem Senden an Notification Hubs innerhalb weniger Minuten (in der Regel innerhalb von zehn Minuten) an die Zielgeräte übermittelt. Bei einigen Benachrichtigungen dauert es unter Umständen etwas länger.
Hinweis
Azure Notification Hubs verfügt über eine Richtlinie, nach der Pushbenachrichtigungen verworfen werden, wenn sie nicht innerhalb von 30 Minuten an den PNS übermittelt werden können. Diese Verzögerung kann aus verschiedenen Gründen auftreten. Meistens ist sie jedoch darauf zurückzuführen, dass der PNS Ihre Anwendung drosselt.
Gibt es garantierte Latenzzeiten?
Da Pushbenachrichtigungen von einem externen, plattformspezifischen PNS übermittelt werden, können keine Latenzzeiten garantiert werden. Die Mehrzahl der Pushbenachrichtigungen wird jedoch innerhalb weniger Minuten zugestellt.
Wo werden die Daten von Azure Notification Hubs gespeichert?
In Azure Notification Hubs werden Kundenregistrierungsdaten in der Region gespeichert, die vom Kunden ausgewählt wurde. Notification Hubs bietet eine Notfallwiederherstellung der Metadaten (Notification Hubs-Name, Verbindungszeichenfolge und andere wichtige Informationen). Für alle Regionen mit Ausnahme von „Brasilien, Süden“ und „Asien, Südosten“ wird die Metadatensicherung in einer anderen Region gehostet (normalerweise in der anderen Region des Azure-Regionspaars). Für die Regionen „Brasilien, Süden“ und „Asien, Südosten“ werden Datenbanksicherungen in derselben Region gespeichert, um die Anforderungen an die Datenresidenz für diese Regionen zu erfüllen.
Welche Aspekte müssen beim Entwerfen einer Lösung mit Namespaces und Notification Hubs berücksichtigt werden?
Mobile App/Umgebung
- Verwenden Sie pro mobiler App und Umgebung jeweils einen Notification Hub.
- In einem mehrinstanzenfähigen Szenario sollte jeder Mandant über einen separaten Hub verfügen.
- Verwenden Sie einen Notification Hub niemals gleichzeitig für Produktions- und Testumgebungen. Das kann beim Senden von Benachrichtigungen zu Problemen führen. (Apple bietet Pushendpunkte für Sandbox und Produktion an, die jeweils über separate Anmeldeinformationen verfügen.)
- Standardmäßig können Sie über das Azure-Portal oder über die integrierte Azure-Komponente in Visual Studio Testbenachrichtigungen an registrierte Geräte senden. Der Schwellenwert wird auf 10 Geräte festgelegt, die nach dem Zufallsprinzip aus dem Registrierungspool ausgewählt werden.
Hinweis
Wenn Ihr Hub ursprünglich mit einem Apple-Sandbox-Zertifikat konfiguriert war und später mit einem Apple-Produktionszertifikat konfiguriert wurde, sind die ursprünglichen Gerätetoken ungültig. Ungültige Token können bei Pushbenachrichtigungen zu Fehlern führen. Trennen Sie Ihre Produktions- und Testumgebungen, und verwenden Sie unterschiedliche Hubs für unterschiedliche Umgebungen.
PNS-Anmeldeinformationen
Wenn eine mobile App beim Entwicklerportal einer Plattform (etwa Apple oder Google) registriert wird, werden eine App-ID und Sicherheitstoken gesendet. Das App-Back-End stellt diese Token für den PNS der Plattform bereit, damit Pushbenachrichtigungen an Geräte gesendet werden können. Sicherheitstoken können als Zertifikate (beispielsweise für Apple iOS oder Windows Phone) oder als Sicherheitsschlüssel (beispielsweise für Google Android oder Windows) vorliegen. Sie müssen in Notification Hubs konfiguriert werden. Die Konfiguration erfolgt üblicherweise auf Notification Hub-Ebene, kann in einem Szenario mit mehreren Mandanten jedoch auch auf Namespaceebene durchgeführt werden.
Namespaces
Namespaces können für eine Bereitstellungsgruppierung eingesetzt werden. In einem Szenario mit mehreren Mandanten können sie auch alle Notification Hubs für alle Mandanten der gleichen App darstellen.
Geografische Verteilung
Die geografische Verteilung ist bei Szenarios mit Pushbenachrichtigungen nicht immer ein wichtiger Aspekt. Verschiedene Pushbenachrichtigungsdienste (etwa APNs oder FCM), die Pushbenachrichtigungen an Geräte übermitteln, sind nicht gleichmäßig verteilt.
Wenn Sie über eine weltweit verwendete Anwendung verfügen, können Sie den Notification Hubs-Dienst in unterschiedlichen Azure-Regionen auf der ganzen Welt verwenden und so Hubs in unterschiedlichen Namespaces erstellen.
Hinweis
Dieser Ansatz wird jedoch nicht empfohlen, da er mit höheren Verwaltungskosten (insbesondere für Registrierungen) verbunden ist. Er sollte daher nur in Ausnahmefällen verwendet werden.
Sollten Registrierungen vom App-Back-End oder direkt über Clientgeräte erfolgen?
Registrierungen über das App-Back-End sind hilfreich, wenn Sie Clients vor der Registrierung authentifizieren müssen. Sie sind auch hilfreich, wenn Sie über Tags verfügen, die vom App-Back-End auf der Grundlage der App-Logik erstellt oder geändert werden müssen. Weitere Informationen finden Sie im Leitfaden zur Back-End-Registrierung und im Leitfaden zur Back-End-Registrierung 2.
Welches Sicherheitsmodell gilt für die Übermittlung von Pushbenachrichtigungen?
Azure Notification Hubs verwendet ein auf Shared Access Signatures (SAS) basierendes Sicherheitsmodell. Sie können die SAS-Token auf der Namespace-Stammebene oder auf der granularen Notification Hub-Ebene verwenden. Für SAS-Token können verschiedene Autorisierungsregeln festgelegt werden, um beispielsweise Nachrichtenberechtigungen zu senden oder auf Benachrichtigungsberechtigungen zu lauschen. Weitere Informationen finden Sie im Sicherheitsmodell von Notification Hubs.
Wie sollte ich vertrauliche Nutzlasten in Pushbenachrichtigungen behandeln?
Alle Benachrichtigungen werden über den PNS der Plattform an die Zielgeräte übermittelt. Wenn eine Benachrichtigung an Azure Notification Hubs gesendet wird, wird sie verarbeitet und an den jeweiligen PNS übergeben.
Bei allen Verbindungen zwischen Absender, Azure Notification Hubs und PNS wird HTTPS verwendet.
Hinweis
Die Nutzlast der Nachrichten wird von Azure Notification Hubs nicht protokolliert.
Für den Versand vertraulicher Nutzlasten empfehlen wir die Verwendung sicherer Pushbenachrichtigungen. Der Absender übermittelt eine Pingbenachrichtigung mit einer Nachrichten-ID und ohne die vertrauliche Nutzlast an das Gerät. Wenn die App auf dem Gerät die Nutzlast empfängt, ruft sie direkt eine sichere API auf, um die Nachrichtendetails abzurufen. Eine Implementierungsanleitung für dieses Muster finden Sie im Tutorial zu sicheren Pushbenachrichtigungen mit Notification Hubs.
Operationen (Operations)
Welche Unterstützung steht für die Notfallwiederherstellung zur Verfügung?
Weitere Informationen finden Sie unter Hochverfügbarkeit für Azure Notification Hubs.
Werden alle meine Daten in verschlüsselter Form gespeichert?
Azure Notification Hubs verschlüsselt alle ruhenden Kundendaten mit Ausnahme von Registrierungstags. Aus diesem Grund sollten Sie keine personenbezogenen oder vertrauliche Daten unter Verwendung von Tags speichern.
Steht ein Überwachungsprotokoll zur Verfügung?
Ja. Alle Notification Hubs-Verwaltungsvorgänge aktualisieren das Azure-Aktivitätsprotokoll, das im Azure portal zur Verfügung steht. Das Azure-Aktivitätsprotokoll bietet Einblicke in Vorgänge, die für Ressourcen in Ihren Abonnements durchgeführt wurden. Mit dem Aktivitätsprotokoll können Sie die Antworten auf die Fragen „Was“, „Wer“ und „Wann“ für alle Schreibvorgänge (PUT, POST, DELETE) ermitteln, die für die Ressourcen Ihres Abonnements durchgeführt wurden. Sie können auch den Status der Vorgänge und andere relevante Eigenschaften ermitteln. Das Aktivitätsprotokoll umfasst jedoch keine Lesevorgänge (GET).
Erkennt Notification Hubs eine Deinstallation?
Wenn Sie das Gerät als eine Registration
gespeichert haben, wird es beim ersten Senden an diese Registrierung aus dem Benachrichtigungshub gelöscht, wenn der PNS mit einem Fehlerstatuscode antwortet, der angibt, dass das Gerät ungültig ist.
Wenn Sie Ihre Geräte mithilfe der Installation
-APIs gespeichert haben, werden sie im obigen Szenario nicht gelöscht. Diese Entscheidung wurde getroffen, um Tags und andere Metadaten zu einem bestimmten Benutzer bzw. einer bestimmten Benutzerin beizubehalten, die möglicherweise relevant sind, wenn der Benutzer oder die Benutzerin eine erneute Installation durchführt.
Sie können für die Registrierung und Installation ein Ablaufdatum festlegen, damit das Gerät zu einem bestimmten Zeitpunkt automatisch bereinigt wird. Ein gängiges Muster besteht darin, dass Ihre Clientanwendung das Ablaufdatum einmal pro Tag aktualisiert, um es zurückzusetzen, solange der Benutzer oder die Benutzerin Ihre Anwendung verwendet.
Überwachung und Problembehandlung
Welche Funktionen für die Problembehandlung stehen zur Verfügung?
Azure Notification Hubs bietet verschiedene Problembehandlungsfeatures – insbesondere für das häufig auftretende Problem verworfener Benachrichtigungen. Ausführliche Informationen finden Sie im Problembehandlung für Notification Hubs.
Welche Telemetriefunktionen stehen zur Verfügung?
Azure Notification Hubs ermöglicht die Anzeige von Telemetriedaten im Azure portal. Ausführliche Informationen zu den Metriken finden Sie auf der Seite Notification Hubs-Metriken.
Sie können auch programmgesteuert auf Metriken zugreifen. Weitere Informationen finden Sie in den folgenden Artikeln:
- Retrieve Azure Monitor metrics with .NET (Abrufen von Azure Monitor-Metriken mit .NET). In diesem Beispiel werden Benutzername und Kennwort verwendet. Um ein Zertifikat zu verwenden, überladen Sie die FromServicePrincipal-Methode, um ein Zertifikat wie in diesem Beispiel gezeigt anzugeben.
- Getting metrics and activity logs for a resource (Abrufen von Metriken und Aktivitätsprotokollen für eine Ressource)
- Exemplarische Vorgehensweise für die Azure Monitoring-REST-API
Hinweis
Wenn Benachrichtigungen erfolgreich waren, bedeutet das einfach, dass Pushbenachrichtigungen an den externen PNS (beispielsweise APNs für iOS-Geräte und macOS oder FCM für Android-Geräte) übermittelt wurden. Der PNS hat die Aufgabe, die Benachrichtigungen an Zielgeräte zu übermitteln. In der Regel macht der PNS Übermittlungsmetriken nicht für Dritte verfügbar.