Was ist Azure Notification Hubs?What is Azure Notification Hubs?

Azure Notification Hubs bietet eine benutzerfreundliche, horizontal skalierbare Push-Engine, mit der Sie von einem beliebigen (cloudbasierten oder lokalen) Back-End aus Benachrichtigungen an eine beliebige Plattform (iOS, Android, Windows usw.) senden können.Azure Notification Hubs provide an easy-to-use and scaled-out push engine that enables you to send notifications to any platform (iOS, Android, Windows, etc.) from any back-end (cloud or on-premises). Notification Hubs eignet sich sowohl für Unternehmens- als auch Privatkundenszenarien.Notification Hubs works great for both enterprise and consumer scenarios. Es folgen einige Beispielszenarios:Here are a few example scenarios:

  • Senden von Benachrichtigungen zu brandaktuellen Nachrichten an Millionen von Empfängern mit niedriger LatenzSend breaking news notifications to millions with low latency.
  • Senden standortbasierter Gutscheine an interessierte KundengruppenSend location-based coupons to interested user segments.
  • Senden von Ereignisbenachrichtigungen an Benutzer oder Gruppen für Medien-/Sport-/Finanz-/SpieleanwendungenSend event-related notifications to users or groups for media/sports/finance/gaming applications.
  • Pushübertragung von Werbeinhalten an Anwendungen, um Kunden anzusprechen und zum Kauf anzuregenPush promotional contents to applications to engage and market to customers.
  • Informieren von Benutzern über Unternehmensereignisse (beispielsweise neue Nachrichten und Arbeitselemente)Notify users of enterprise events such as new messages and work items.
  • Senden von Codes für die mehrstufige AuthentifizierungSend codes for multi-factor authentication.

Was sind Pushbenachrichtigungen?What are push notifications?

Pushbenachrichtigungen sind eine Form der Kommunikation zwischen einer App und Benutzern, bei der Benutzer mobiler Apps über bestimmte gewünschte Informationen benachrichtigt werden (meist in einem Popupfenster oder Dialogfeld auf einem mobilen Gerät).Push notifications are a form of app-to-user communication where users of mobile apps are notified of certain desired information, usually in a pop-up or dialog box on a mobile device. Benutzer haben im Allgemeinen die Wahl, die Nachricht anzuzeigen oder zu verwerfen. Bei Anzeige wird die mobile Anwendung geöffnet, die die Benachrichtigung kommuniziert hat.Users generally choose to view or dismiss the message; choosing the former opens the mobile application that communicated the notification. Einige Benachrichtigungen sind stumm; sie werden für die Verarbeitung im Hintergrund an die App übermittelt, die dann entscheidet, was zu tun ist.Some notifications are silent - delivered behind the scenes for the app to process and decide what to do.

Pushbenachrichtigungen sind bei Privatkunden-Apps zum Steigern der App-Nutzung und bei Unternehmens-Apps zum Verbreiten aktueller Geschäftsinformationen von Bedeutung.Push notifications are vital for consumer apps in increasing app engagement and usage, and for enterprise apps in communicating up-to-date business information. Dies ist die beste Lösung für die Kommunikation zwischen App und Benutzer, da sie für Mobilgeräte energieeffizient, für die Absender von Benachrichtigungen flexibel und verfügbar ist, wenn entsprechende Apps nicht aktiv sind.It's the best app-to-user communication because it is energy-efficient for mobile devices, flexible for the notifications senders, and available when corresponding applications are not active.

Hinweis

Für Azure Notification Hubs werden VoIP-Pushbenachrichtigungen (Voice over IP) nicht offiziell unterstützt. In diesem Artikel wird aber beschrieben, wie Sie APNS-VoIP-Benachrichtigungen über Azure Notification Hubs nutzen können.Azure Notification Hubs does not officially support Voice Over Internet Protocol (VOIP) push notifications; however, this article describes how you can use APNS VOIP notifications through Azure Notification Hubs.

Weitere Informationen zu Pushbenachrichtigungen für einige gängige Plattformen finden Sie in den folgenden Themen:For more information on push notifications for a few popular platforms, see the following topics:

Funktionsweise von PushbenachrichtigungenHow do push notifications work?

Pushbenachrichtigungen werden über plattformspezifische Infrastrukturen übermittelt, die Platform Notification Systems (PNS, Plattformbenachrichtigungssystem) genannt werden.Push notifications are delivered through platform-specific infrastructures called Platform Notification Systems (PNSes). Sie bieten einfache Pushfunktionen für die Übermittlung von Nachrichten an ein Gerät mittels eines bereitgestellten Handles und haben keine gemeinsame Schnittstelle.They offer basic push functionalities to deliver a message to a device with a provided handle, and have no common interface. Zum Senden einer Benachrichtigung an alle Benutzer der Android-, iOS- und Windows-Versionen einer App muss der Entwickler separat mit APNS (Apple Push Notification Service), FCM (Firebase Cloud Messaging) und WNS (Windows Notification Service) arbeiten.To send a notification to all customers across the Android, iOS, and Windows versions of an app, the developer must work separately with Apple Push Notification Service (APNS), Firebase Cloud Messaging (FCM), and Windows Notification Service (WNS).

Aus allgemeiner Sicht funktionieren Pushbenachrichtigungen wie folgt:At a high level, here is how push works:

  1. Eine Anwendung, die eine Benachrichtigung empfangen möchte, kontaktiert das Plattformbenachrichtigungssystem der Zielplattform, auf der die App ausgeführt wird, und fordert ein eindeutiges und temporäres Push-Handle an.An application wants to receive a notification, so it contacts the PNS for the target platform on which the app is running and requests a unique and temporary push handle. Der Handletyp hängt vom System ab (WNS verwendet z.B URIs, während APNS mit Token arbeitet).The handle type depends on the system (for example, WNS uses URIs while APNS uses tokens).
  2. Die Client-App speichert dieses Handle zur späteren Verwendung im Back-End oder Anbieter.The client app stores this handle in the app backend or provider.
  3. Um eine Pushbenachrichtigung zu senden, nimmt das Back-End der App über den Handle Kontakt mit dem PNS auf, um eine bestimmte Client-App als Ziel zu wählen.To send a push notification, the app backend contacts the PNS using the handle to target a specific client app.
  4. Das PNS leitet die Benachrichtigung an das vom Handle angegebene Gerät weiter.The PNS forwards the notification to the device specified by the handle.

Pushbenachrichtigungsworkflow

Die Herausforderungen von PushbenachrichtigungenThe challenges of push notifications

PNS-Systeme sind leistungsstark.PNSes are powerful. Der App-Entwickler hat jedoch immer noch sehr viel Arbeit, selbst wenn er nur allgemeine Pushbenachrichtigungsszenarien wie das Übertragungen von Pushbenachrichtigungen an in Segmente eingeteilte Benutzer implementieren möchte.However, they leave much work to the app developer to implement even common push notification scenarios, such as broadcasting push notifications to segmented users.

Zum Senden von Pushbenachrichtigungen ist eine komplexe Infrastruktur erforderlich, die nicht mit der Hauptgeschäftslogik der Anwendung zusammenhängt.Sending push notifications requires complex infrastructure that is unrelated to the application's main business logic. Im Anschluss sind einige der Herausforderungen im Zusammenhang mit der Infrastruktur aufgeführt:Some of the infrastructure challenges are:

  • PlattformabhängigkeitPlatform dependency
    • Das Back-End erfordert komplexe und schwer zu verwaltende plattformabhängige Logik zum Senden von Benachrichtigungen an Geräte auf verschiedenen Plattformen, da PNS-Systeme nicht vereinheitlicht sind.The backend requires complex and hard-to-maintain platform-dependent logic to send notifications to devices on various platforms, as PNSes are not unified.
  • SkalierenScale
    • Gemäß PNS-Richtlinien müssen Gerätetoken bei jedem Start einer App aktualisiert werden.Per PNS guidelines, device tokens must be refreshed on every app launch. Das Back-End muss sehr viel Datenverkehr und Datenbankzugriffe bewältigen, bloß damit die Token aktuell bleiben.The backend deals with a large amount of traffic and database access just to keep the tokens up-to-date. Wenn die Anzahl der Geräte auf Hunderte, Tausende oder Millionen wächst, sind die Kosten der Erstellung und Wartung dieser Infrastruktur beträchtlich.When the number of devices grows to hundreds, thousands, or millions, the cost of creating and maintaining this infrastructure is massive.
    • Die meisten PNS-Systeme unterstützten keine Übertragung an mehrere Geräte.Most PNSes do not support broadcast to multiple devices. Eine einfache Übertragung an eine Million Geräte mündet in einer Million Aufrufe an die PNS-Systeme.A simple broadcast to a million devices results in a million calls to the PNSes. Das Skalieren dieses Datenverkehrsvolumens mit minimaler Latenz ist keine einfache Aufgabe.Scaling this amount of traffic with minimal latency is nontrivial.
  • RoutingRouting
    • Obwohl PNS-Systeme eine Möglichkeit zum Senden von Nachrichten an Geräte bieten, richten sich die meisten App-Benachrichtigungen zielgerichtet an Benutzer oder Interessengruppen.Though PNSes provide a way to send messages to devices, most app notifications are targeted at users or interest groups. Das Back-End muss eine Registrierung verwalten, um Geräte zu Interessengruppen, Benutzern, Eigenschaften usw. zuzuordnen. Dieser Aufwand kommt noch zur Markteinführungszeit und zu den Wartungskosten einer App hinzu.The backend must maintain a registry to associate devices with interest groups, users, properties, etc. This overhead adds to the time to market and maintenance costs of an app.

Gründe für die Verwendung von Azure Notification HubsWhy use Azure Notification Hubs?

Notification Hubs nimmt Ihnen die gesamte Komplexität im Zusammenhang mit dem Senden von Pushbenachrichtigungen über Ihr App-Back-End ab.Notification Hubs eliminates all complexities associated with sending push notifications on your own from your app backend. Die horizontal skalierte Pushbenachrichtigungsinfrastruktur für mehrere Plattformen reduziert den Code für Pushvorgänge und vereinfacht Ihr Back-End.Its multi-platform, scaled-out push notification infrastructure reduces push-related coding and simplifies your backend. Bei Notification Hubs sind Geräte lediglich zuständig für das Registrieren ihrer PNS-Handles bei einem Hub, während das Back-End Nachrichten an Benutzer oder Interessengruppen sendet (siehe die folgende Abbildung):With Notification Hubs, devices are merely responsible for registering their PNS handles with a hub, while the backend sends messages to users or interest groups, as shown in the following figure:

Notification Hubs-Diagramm

Notification Hubs ist eine sofort einsatzbereite Push-Engine mit den folgenden Vorteilen:Notification Hubs is your ready-to-use push engine with the following advantages:

  • PlattformübergreifendCross platforms
    • Unterstützung aller wichtigen Pushplattformen.Support for all major push platforms.
    • Eine gemeinsame Schnittstelle für Pushbenachrichtigungen an alle Plattformen in plattformspezifischen oder plattformunabhängigen Formaten ohne plattformspezifische Aufgaben.A common interface to push to all platforms in platform-specific or platform-independent formats with no platform-specific work.
    • Zentrale Verwaltung von Gerätehandles.Device handle management in one place.
  • Back-End-übergreifendCross backends
    • Cloudbasiert oder lokal.Cloud or on-premises.
    • .NET, Node.js, Java, Python usw..NET, Node.js, Java, Python, etc.
  • Umfangreiche BereitstellungsmusterRich set of delivery patterns
    • Übertragung an eine oder mehrere Plattformen: Über einen einzigen API-Aufruf können Sie Millionen von Geräten auf verschiedenen Plattformen erreichen.Broadcast to one or more platforms: You can instantly broadcast to millions of devices across platforms with a single API call.
    • Push an Gerät: Sie können Benachrichtigungen an einzelne Geräte richten.Push to device: You can target notifications to individual devices.
    • Push an Benutzer: Tags und Vorlagen helfen Ihnen dabei, alle Geräte eines Benutzers auf verschiedenen Plattformen zu erreichen.Push to user: Tags and templates help you reach all cross-platform devices for a user.
    • Push an Segment mit dynamischen Tags: Das Feature „Tags“ hilft Ihnen, Geräte zu segmentieren und sie per Push gemäß Ihren Anforderungen zu erreichen, ganz gleich, ob Sie an ein Segment oder an einen Ausdruck von Segmenten senden (Beispiel: aktiv UND lebt in Stuttgart NICHT neuer Benutzer).Push to segment with dynamic tags: The tags feature helps you segment devices and push to them according to your needs, whether you are sending to one segment or an expression of segments (For example, active AND lives in Seattle NOT new user). Sie können Gerätetags jederzeit und überall aktualisieren, anstatt auf Veröffentlichen/Abonnieren beschränkt zu sein.Instead of being restricted to publish-subscribe, you can update device tags anywhere and anytime.
    • Lokalisierte Pushbenachrichtigungen: Das Feature „Vorlagen“ verhilft Ihnen zu einer Lokalisierung, ohne sich auf den Back-End-Code auszuwirken.Localized push: The templates feature helps achieve localization without affecting backend code.
    • Automatische Pushbenachrichtigungen: Sie können das Push-Pull-Muster aktivieren, indem Sie automatische Benachrichtigungen an Geräte senden, um auszulösen, dass sie bestimmte Pullvorgänge oder Aktionen ausführen.Silent push: You can enable the push-to-pull pattern by sending silent notifications to devices and triggering them to complete certain pulls or actions.
    • Geplante Pushbenachrichtigungen: Sie können das Senden von Benachrichtigungen für einen beliebigen Zeitpunkt planen.Scheduled push: You can schedule notifications to be sent anytime.
    • Direkte Pushbenachrichtigungen: Sie können das Registrieren von Geräten beim Notification Hubs-Dienst überspringen und direkte Pushbenachrichtigungen im Batch an eine Liste von Gerätehandles auslösen.Direct push: You can skip registering devices with the Notification Hubs service and directly batch push to a list of device handles.
    • Personalisierte Pushbenachrichtigungen: Pushvariablen für Geräte helfen Ihnen beim Senden gerätespezifischer, personalisierter Pushbenachrichtigungen mit angepassten Schlüssel-Wert-Paaren.Personalized push: Device push variables help you send device-specific personalized push notifications with customized key-value pairs.
  • Umfangreiche TelemetrieRich telemetry
    • Allgemeine Telemetriedaten zu Pushbenachrichtigungen, Geräten, Fehlern und Betrieb stehen sowohl im Azure-Portal als auch programmgesteuert zur Verfügung.General push, device, error, and operation telemetry are available both in the Azure portal and programmatically.
    • Nachrichtenspezifische Telemetriedaten ermöglichen die Nachverfolgung jedes Pushvorgangs vom ursprünglichen Anforderungsaufruf bis zum erfolgreichen Senden der Pushbenachrichtigungen durch den Notification Hubs-Dienst.Per-message telemetry tracks each push from your initial request call to the Notification Hubs service successfully sending the pushes.
    • Im PNS-Feedback wird das gesamte Feedback von Plattformbenachrichtigungssystemen kommuniziert, um Sie beim Debuggen zu unterstützen.Platform Notification System feedback communicates all feedback from PNSes to assist in debugging.
  • SkalierbarkeitScalability
    • Senden Sie Nachrichten schnell an Millionen von Geräten, ohne die Architektur umzubauen oder ein Sharding von Geräten durchzuführen.Send fast messages to millions of devices without re-architecting or device sharding.
  • SecuritySecurity
    • Gemeinsamer geheimer Zugriffsschlüssel (Shared Access Secret, SAS) oder Verbundauthentifizierung.Shared Access Secret (SAS) or federated authentication.

Nächste SchritteNext steps

Informationen zu den ersten Schritten beim Erstellen und Verwenden eines Benachrichtigungshubs finden Sie unter Erste Schritte mit Azure Notification Hubs für Android-Apps und Firebase Cloud Messaging.Get started with creating and using a notification hub by following the Tutorial: Push notifications to mobile applications.