Vad är Azure Notification Hubs?

Azure Notification Hubs tillhandahåller en lätthanterad och utskalad push-motor som gör att du kan skicka meddelanden till valfri plattform (iOS, Android, Windows osv.) från valfri serverdel (moln eller lokalt). Notification Hubs fungerar utmärkt för både företags- och konsumentscenarier. Här följer några exempel:

  • Skicka meddelanden med senaste nytt till miljontals användare med låg latens.
  • Skicka platsbaserade kuponger till intresserade användarsegment.
  • Skicka händelserelaterade meddelanden till användare eller grupper med media-/sport-/ekonomi-/spelprogram.
  • Skicka innehåll med erbjudanden till program engagera och marknadsföra gentemot kunder.
  • Meddela användare om företagshändelser, till exempel nya meddelanden och arbetsobjekt.
  • Skicka koder för multifaktorautentisering.

Vad är push-meddelanden?

Push-meddelanden är en form av app-till-användare-kommunikation där användare av mobilappar meddelas om viss önskad information, vanligtvis i ett popup-fönster eller en dialogruta på en mobil enhet. Användare väljer vanligtvis att visa eller stänga meddelandet. om du väljer den förra öppnas det mobilprogram som förmedlade meddelandet. Vissa meddelanden är tysta – levereras i bakgrunden så att appen kan bearbeta och bestämma vad den ska göra.

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. Det är den bästa app-till-användare-kommunikationen eftersom den är energieffektiv för mobila enheter, flexibel för avsändare av meddelanden och tillgänglig när motsvarande program inte är aktiva.

Anteckning

Azure Notification Hubs har inte officiellt stöd för VOIP-push-meddelanden (Voice Over Internet Protocol). Den här artikeln beskriver dock hur du kan använda APNS VOIP-meddelanden via Azure Notification Hubs.

Mer information om push-meddelanden för några populära plattformar finns i följande avsnitt:

Hur fungerar push-meddelanden?

Push-meddelanden levereras via plattformsspecifika infrastrukturer som kallas för plattformsspecifika meddelandesystem (Platform Notification Systems, PNS). De erbjuder grundläggande push-funktioner för att leverera ett meddelande till en enhet med en angivet handtag och har inget gemensamt gränssnitt. Om du vill skicka ett meddelande till alla kunder i Android-, iOS- och Windows-versioner av en app måste utvecklaren arbeta separat med Apple Push Notification Service (APNS), Firebase Cloud Messaging (FCM) och Windows Notification Service (WNS).

På hög nivå fungerar push-tekniken så här:

  1. Ett program vill få ett meddelande så att det kontaktar PNS för målplattformen där appen körs och begär ett unikt och tillfälligt push-handtag. Referenstypen beror på systemet (till exempel använder WNS URI:er medan APNS använder token).
  2. Klientappen lagrar den här referensen i appens serverdel eller provider.
  3. För att skicka ett push-meddelande kontaktar appens serverdel PNS med handtaget för att rikta in sig på en specifik klientapp.
  4. PNS-systemet vidarebefordrar meddelandet till den enhet som anges av handtaget.

Push notification workflow

Utmaningarna med push-meddelanden

PNS:er är kraftfulla. 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.

Att skicka push-meddelanden kräver komplex infrastruktur som inte är relaterad till programmets huvudsakliga affärslogik. Några av infrastrukturutmaningarna är:

  • Plattformsberoende
    • Serverdelen kräver komplex och svårunderhållen plattformsberoende logik för att skicka meddelanden till enheter på olika plattformar, eftersom PNS:er inte är enhetliga.
  • Skalning
    • Enligt PNS-riktlinjerna måste enhetstoken uppdateras vid varje appstart. Serverdelen hanterar en stor mängd trafik och databasåtkomst bara för att hålla token uppdaterade. När antalet enheter växer till hundratals, tusentals eller miljoner är kostnaden för att skapa och underhålla den här infrastrukturen enorm.
    • Merparten av PNS-systemen stöder inte sändning av meddelanden till flera enheter. En enkel sändning till en miljon enheter resulterar i en miljon anrop till PNS-systemen. Att skala den här mängden trafik med minimal svarstid är en intrikat uppgift.
  • Routning
    • Även om PNS:er är ett sätt att skicka meddelanden till enheter är de flesta appmeddelanden riktade till användare eller intressegrupper. Serverdelen måste ha ett register för att associera enheter med intressegrupper, användare, egenskaper osv. Den här kostnaden ökar tiden till marknaden och underhållskostnader för en app.

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

Notification Hubs eliminerar alla komplexiteter som är associerade med att skicka push-meddelanden på egen hand från appens serverdel. Dess utskalade multiplattform för en push-meddelandeinfrastruktur reducerar den push-relaterade kodningen och förenklar serverdelen. 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:

Notification Hub diagram

Notification Hubs är din färdiga push-motor med följande fördelar:

  • Plattformsoberoende
    • Stöd för alla större push-plattformar.
    • Ett gemensamt gränssnitt för alla plattformar i plattformsspecifika eller plattformsoberoende format med icke plattformsspecifikt arbete.
    • Hantering av enhetshandtag på ett och samma ställe.
  • Serverdelsoberoende
    • Moln eller lokalt.
    • .NET, Node.js, Java, Python osv.
  • Stor uppsättning av leveransmönster
    • Sänd till en eller flera plattformar: Du kan direkt sända till miljontals enheter på olika plattformar med ett enda API-anrop.
    • Skicka till enhet: du kan rikta meddelanden till enskilda enheter.
    • Push-överföring till användare: Taggar och mallar hjälper dig att nå alla plattformsoberoende enheter för en användare.
    • Push-överföring till segment med dynamiska taggar: Taggfunktionen hjälper dig att segmentera enheter och push-överföra till dem efter dina behov, oavsett om du skickar till ett segment eller ett uttryck för segment (till exempel aktiv OCH bor i Seattle INTE ny användare). I stället för att begränsas till publicera/prenumerera kan du uppdatera enhetstaggar var som helst och när som helst.
    • Lokaliserad push: Mallfunktionen hjälper till att uppnå lokalisering utan att påverka serverdelskoden.
    • 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.
    • Schemalagd push: Du kan schemalägga att meddelanden skickas när som helst.
    • Direkt push: du kan hoppa över att registrera enheter med Notification Hubs-tjänsten och direkt batchpusha till en lista över enhetshandtag.
    • Anpassad push: Enhets-push-variabler hjälper dig att skicka enhetsspecifika anpassade push-meddelanden med anpassade nyckel/värde-par.
  • Omfattande telemetri
    • Allmän telemetri för push, enhet, fel och åtgärd är tillgängliga både i Azure Portal och programmatiskt.
    • Telemetri per meddelande spårar varje push-överföring från ditt första begärandeanrop till Notification Hubs-tjänsten som skickar push-meddelandena.
    • Feedback från plattformsmeddelandesystemet förmedlar all feedback från PNSes för att underlätta felsökningen.
  • Skalbarhet
    • Skicka snabba meddelanden till miljontals enheter utan omarkitektur eller horisontell partitionering av enheter.
  • Säkerhet
    • SAS (Shared Access Secret) eller federerad autentisering.

Nästa steg

Kom igång med att skapa och använda en meddelandehubb genom att följa Självstudier: Skicka meddelanden till mobila program.