Vad är Azure Notification Hubs?What is Azure Notification Hubs?

Azure Notification Hubs tillhandahåller en lättanvänd och skalad push-motor som gör att du kan skicka meddelanden till valfri plattform (iOS, Android, Windows osv.) från valfri Server del (moln eller lokalt).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 fungerar utmärkt för både företags- och konsumentscenarier.Notification Hubs works great for both enterprise and consumer scenarios. Här följer några exempel:Here are a few example scenarios:

  • Skicka meddelanden med senaste nytt till miljontals användare med låg latens.Send breaking news notifications to millions with low latency.
  • Skicka platsbaserade kuponger till intresserade användarsegment.Send location-based coupons to interested user segments.
  • Skicka händelserelaterade meddelanden till användare eller grupper med media-/sport-/ekonomi-/spelprogram.Send event-related notifications to users or groups for media/sports/finance/gaming applications.
  • Skicka innehåll med erbjudanden till program engagera och marknadsföra gentemot kunder.Push promotional contents to applications to engage and market to customers.
  • Meddela användare om företags händelser som nya meddelanden och arbets objekt.Notify users of enterprise events such as new messages and work items.
  • Skicka koder för multifaktorautentisering.Send codes for multi-factor authentication.

Vad är push-meddelanden?What are push notifications?

Push-meddelanden är en form av app-till-användare-kommunikation där användare av mobilappar meddelas om viss önskad information, vanligt vis i ett popup-fönster eller i en dialog ruta på en mobil enhet.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. Användare väljer vanligt vis att visa eller stänga meddelandet. Om du väljer den tidigare öppnar du det mobil program som kommunicerade meddelandet.Users generally choose to view or dismiss the message; choosing the former opens the mobile application that communicated the notification. Vissa meddelanden är tyst levererade i bakgrunden för att appen ska kunna bearbeta och bestämma vad som ska göras.Some notifications are silent - delivered behind the scenes for the app to process and decide what to do.

Push-meddelanden är viktiga för konsumentapparna när det gäller att öka engagemanget och användningen, och för företagsapparna när det gäller att kommunicera uppdaterad affärsinformation.Push notifications are vital for consumer apps in increasing app engagement and usage, and for enterprise apps in communicating up-to-date business information. Det är den bästa kommunikationen mellan appar och användare eftersom det är energi snålt för mobila enheter, flexibelt för meddelande avsändare och tillgänglig när motsvarande program inte är aktiva.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.

Anteckning

Azure Notification Hubs har inte officiellt stöd för röst över Internet Protocol (VOIP) push-meddelanden. i den här artikeln beskrivs dock hur du kan använda APN VoIP-meddelanden via Azure Notification Hubs.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.

Mer information om push-meddelanden för några populära plattformar finns i följande avsnitt:For more information on push notifications for a few popular platforms, see the following topics:

Hur fungerar push-meddelanden?How do push notifications work?

Push-meddelanden levereras via plattformsspecifika infrastrukturer som kallas för plattformsspecifika meddelandesystem (Platform Notification Systems, PNS).Push notifications are delivered through platform-specific infrastructures called Platform Notification Systems (PNSes). De erbjuder grundläggande Push-funktioner för att leverera ett meddelande till en enhet med en angiven referens och har inget gemensamt gränssnitt.They offer basic push functionalities to deliver a message to a device with a provided handle, and have no common interface. Om du vill skicka ett meddelande till alla kunder över Android-, iOS-och Windows-versionerna av en app måste utvecklaren arbeta separat med Apple Push Notification Service (APN), Firebase Cloud Messaging (FCM) och Windows Notification Service (WNS).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).

På hög nivå fungerar push-tekniken så här:At a high level, here is how push works:

  1. Ett program vill ta emot ett meddelande, så den kontaktar PNS för den mål plattform där appen körs och begär en unik och tillfällig push-referens.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. Referens typen är beroende av systemet (till exempel WNS använder URI: er när APN använder token).The handle type depends on the system (for example, WNS uses URIs while APNS uses tokens).
  2. Klient programmet lagrar den här referensen i appens Server del eller provider.The client app stores this handle in the app backend or provider.
  3. För att skicka ett push-meddelande kontaktar appens Server del PNS med referensen för att rikta en speciell klient app.To send a push notification, the app backend contacts the PNS using the handle to target a specific client app.
  4. PNS-systemet vidarebefordrar meddelandet till den enhet som anges av handtaget.The PNS forwards the notification to the device specified by the handle.

Arbetsflöde för push-meddelanden

Utmaningarna med push-meddelandenThe challenges of push notifications

PNS:er är kraftfulla.PNSes are powerful. Det krävs ändå mycket arbete av apputvecklaren för att implementera även de mest grundläggande scenarierna för push-meddelanden, som att sända push-meddelanden till olika användarsegment.However, they leave much work to the app developer to implement even common push notification scenarios, such as broadcasting push notifications to segmented users.

Sändning av push-meddelanden kräver komplex infrastruktur som inte är relaterad till programmets huvudsakliga affärs logik.Sending push notifications requires complex infrastructure that is unrelated to the application's main business logic. Några av infrastruktur utmaningarna är:Some of the infrastructure challenges are:

  • PlattformsberoendePlatform dependency
    • Server delen kräver komplex och hårt bevarad plattforms beroende logik för att skicka meddelanden till enheter på olika plattformar, eftersom PNSes inte är enhetliga.The backend requires complex and hard-to-maintain platform-dependent logic to send notifications to devices on various platforms, as PNSes are not unified.
  • SkalaScale
    • Per PNS-rikt linjer måste du uppdatera enhetens token på varje app-start.Per PNS guidelines, device tokens must be refreshed on every app launch. Server delen hanterar en stor mängd trafik och databas åtkomst för att hålla token uppdaterade.The backend deals with a large amount of traffic and database access just to keep the tokens up-to-date. När antalet enheter växer till hundratals, tusentals eller miljon tals är kostnaden för att skapa och underhålla infrastrukturen massiv.When the number of devices grows to hundreds, thousands, or millions, the cost of creating and maintaining this infrastructure is massive.
    • Merparten av PNS-systemen stöder inte sändning av meddelanden till flera enheter.Most PNSes do not support broadcast to multiple devices. En enkel sändning till en miljon enheter resulterar i en miljon anrop till PNS-systemen.A simple broadcast to a million devices results in a million calls to the PNSes. Att skala den här mängden trafik med minimal svarstid är en intrikat uppgift.Scaling this amount of traffic with minimal latency is nontrivial.
  • RoutningRouting
    • Även om PNSes tillhandahåller ett sätt att skicka meddelanden till enheter, är de flesta app-meddelanden riktade till användare eller intresse grupper.Though PNSes provide a way to send messages to devices, most app notifications are targeted at users or interest groups. Server delen måste ha ett register för att associera enheter med intresse grupper, användare, egenskaper osv. Den här kostnaden ökar tiden för marknads-och underhållskostnaderna för en app.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.

Varför ska man använda Azure Notification Hubs?Why use Azure Notification Hubs?

Notification Hubs eliminerar all komplexitet som är associerad med att skicka push-meddelanden från din app server del.Notification Hubs eliminates all complexities associated with sending push notifications on your own from your app backend. Dess utskalade multiplattform för en push-meddelandeinfrastruktur reducerar den push-relaterade kodningen och förenklar serverdelen.Its multi-platform, scaled-out push notification infrastructure reduces push-related coding and simplifies your backend. Med Notification Hubs är enheterna enbart ansvariga för att registrera sina PNS-handtag hos en hubb, medan serverdelen skickar meddelanden till användare eller intressegrupper, så som visas på följande bild: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:

Meddelandehubbsdiagram

Notification Hubs är din färdiga push-motor med följande fördelar:Notification Hubs is your ready-to-use push engine with the following advantages:

  • PlattformsoberoendeCross platforms
    • Stöd för alla större push-plattformar.Support for all major push platforms.
    • Ett gemensamt gränssnitt för alla plattformar i plattformsspecifika eller plattformsoberoende format med icke plattformsspecifikt arbete.A common interface to push to all platforms in platform-specific or platform-independent formats with no platform-specific work.
    • Hantering av enhetshandtag på ett och samma ställe.Device handle management in one place.
  • ServerdelsoberoendeCross backends
    • Molnet eller lokalt.Cloud or on-premises.
    • .NET, Node. js, Java, python osv..NET, Node.js, Java, Python, etc.
  • Stor uppsättning av leveransmönsterRich set of delivery patterns
    • Skicka till en eller flera plattformar: du kan direkt sända till miljon tals enheter på olika plattformar med ett enda API-anrop.Broadcast to one or more platforms: You can instantly broadcast to millions of devices across platforms with a single API call.
    • Skicka till enhet: du kan rikta meddelanden till enskilda enheter.Push to device: You can target notifications to individual devices.
    • Push till användare: Taggar och mallar hjälper dig att komma åt alla plattforms oberoende enheter för en användare.Push to user: Tags and templates help you reach all cross-platform devices for a user.
    • Push to segment med dynamiska Taggar: med funktionen taggar kan du segmentera enheter och skicka dem till dem utifrån dina behov, oavsett om du skickar till ett segment eller ett segment av segment (t. ex. aktiva och finns i Seattle inte ny användare).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). I stället för att vara begränsad till publicering – prenumerera kan du uppdatera enhets Taggar var som helst och när som helst.Instead of being restricted to publish-subscribe, you can update device tags anywhere and anytime.
    • Lokaliserad push: funktionen mallar hjälper till att få lokalisering utan att påverka backend-koden.Localized push: The templates feature helps achieve localization without affecting backend code.
    • Tyst push: du kan aktivera push-pull-mönster genom att skicka tysta meddelanden till enheter och utlösa dem när du vill slutföra vissa hämtningar eller åtgärder.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.
    • Schemalagd push: du kan schemalägga meddelanden som ska skickas när som helst.Scheduled push: You can schedule notifications to be sent anytime.
    • Direkt push: du kan hoppa över att registrera enheter med Notification Hubs-tjänsten och direkt batchpusha till en lista över enhetshandtag.Direct push: You can skip registering devices with the Notification Hubs service and directly batch push to a list of device handles.
    • Personligt anpassad push: enhets-push-variabler hjälper dig att skicka enhetsspecifika personliga push-meddelanden med anpassade nyckel/värde-par.Personalized push: Device push variables help you send device-specific personalized push notifications with customized key-value pairs.
  • Omfattande telemetriRich telemetry
    • Telemetri för allmänna push-meddelanden, enheter, fel och åtgärder är tillgängliga både i Azure Portal och program mässigt.General push, device, error, and operation telemetry are available both in the Azure portal and programmatically.
    • Telemetri per meddelande spårar varje push från ditt första begär ande anrop till Notification Hubs tjänsten skickar push-meddelandena.Per-message telemetry tracks each push from your initial request call to the Notification Hubs service successfully sending the pushes.
    • Plattformsspecifikt meddelandesystem feedback kommunicerar all feedback från PNSes för att hjälpa till med fel sökning.Platform Notification System feedback communicates all feedback from PNSes to assist in debugging.
  • SkalbarhetScalability
    • Skicka snabba meddelanden till miljon tals enheter utan att skapa om eller enhets horisontell partitionering.Send fast messages to millions of devices without re-architecting or device sharding.
  • SäkerhetSecurity
    • SAS (Shared Access Secret) eller federerad autentisering.Shared Access Secret (SAS) or federated authentication.

Nästa stegNext steps

Kom igång med att skapa och använda en meddelandehubb genom att följa Självstudier: Skicka meddelanden till mobila program.Get started with creating and using a notification hub by following the Tutorial: Push notifications to mobile applications.