Overzicht van Notification Hubs
Azure Notification Hubs biedt een gebruiksvriendelijke infrastructuur waarmee u mobiele pushmeldingen vanaf elke back-end (in de cloud of on-premises) naar elk mobiel platform kunt verzenden.
Met Notification Hubs kunt u eenvoudig platformoverschrijdende, gepersonaliseerde pushmeldingen verzenden, waarbij de details van de verschillende platformmeldingssystemen (PNS's) worden geabstraheerd. Met één API-aanroep kunt u afzonderlijke gebruikers of een publiek van miljoenen gebruikers op al hun apparaten bereiken.
U kunt Notification Hubs voor zowel bedrijfs- als consumentenscenario's gebruiken. Bijvoorbeeld:
Meldingen met het laatste nieuws verzenden naar miljoenen gebruikers met lage latentie (Notification Hubs stuurt Bing-toepassingen aan die vooraf zijn geïnstalleerd op alle Windows- en Windows Phone-apparaten).
Op locatie gebaseerde coupons aan gebruikerssegmenten verzenden.
Gebeurtenismeldingen aan gebruikers of groepen voor financiële toepassingen en sport- en gamestoepassingen verzenden.
Gebruikers van bedrijfsgebeurtenissen op de hoogte stellen, zoals nieuwe berichten, e-mailberichten en leads.
Eenmalige wachtwoorden verzenden die vereist zijn voor meervoudige verificatie.
Wat zijn pushmeldingen?
Smartphones en tablets kunnen gebruikers 'waarschuwen' wanneer er een gebeurtenis is opgetreden. In Windows Store- en Windows Phone-toepassingen resulteert de melding in een pop-upvenster (een modusloos venster boven aan het scherm) of met tegelupdates op de Startscherm. Op Android- en Apple-iOS-apparaten worden meldingen ook gegroepeerd weergegeven in een meldingsvenster dat gemakkelijk toegankelijk is vanaf de bovenkant van het scherm.
Pushmeldingen helpen app-back-ends nieuwe informatie weer te geven op mobiele apparaten, zelfs wanneer de app op het apparaat niet actief is.
Pushmeldingen worden geleverd via een platformspecifieke infrastructuur, het zogenaamde Platform Notification System (PNS). Een PNS biedt barebones-functies (dat wil zeggen, geen ondersteuning voor broadcast of personalisatie) en de platformspecifieke PNS's hebben geen gemeenschappelijke interface. Als u bijvoorbeeld een melding wilt verzenden naar een Windows Store-app, moet een ontwikkelaar contact opnemen met de WNS (Windows Notification Service). Als u een melding naar een iOS apparaat wilt verzenden, neemt dezelfde ontwikkelaar contact op met APNS (Apple Push Notification Service) en verzendt het bericht een tweede keer. Het proces is vergelijkbaar voor Windows Phone 8 en Android apps.
Op hoog niveau volgen alle platformmeldingssystemen hetzelfde patroon:
De clienttoepassing neemt contact op met de PNS om de ingang ervan op te halen. Het ingangstype is afhankelijk van het systeem. Voor WNS is het een URI of 'meldingskanaal'. Voor APNS is het een token.
De clienttoepassing slaat deze ingang op in de back-end van de app voor later gebruik. Voor WNS is de back-end doorgaans een cloudservice. Voor Apple heet het systeem een provider.
Als u een pushmelding wilt verzenden, neemt de back-end van de app contact op met de PNS met behulp van de ingang om een exemplaar van een specifieke clienttoepassing te targeten.
De PNS stuurt de melding door naar het apparaat dat is opgegeven door de ingang.
De infrastructuur die nodig is om deze stroom te implementeren, is vrij complex en is meestal niet gerelateerd aan de belangrijkste bedrijfslogica van de app. Enkele uitdagingen bij het bouwen van een pushinfrastructuur op aanvraag:
Platformafhankelijkheid. Als u meldingen wilt verzenden naar apparaten op verschillende platforms, moet u meerdere interfaces in de back-end coderen. Niet alleen zijn de details op laag niveau verschillend, maar ook de presentatie van de melding (tegel, pop-up of badge) is afhankelijk van het platform. Deze verschillen leiden tot complexe en moeilijk te onderhouden back-endcode.
Schaal aanpassen. Bij het schalen van de infrastructuur komen twee aspecten om de hoek kijken:
Volgens de PNS-richtlijnen moeten de apparaattokens steeds worden vernieuwd zodra de app wordt gestart. Dit leidt tot een grote hoeveelheid verkeer (en consequente databasetoegang) om de apparaattokens up-to-date te houden. Wanneer het aantal apparaten groeit (mogelijk tot miljoenen), zijn de kosten voor het maken en onderhouden van deze infrastructuur niet-triviaal.
De meeste PNS's bieden geen ondersteuning voor het uitzenden naar meerdere apparaten. Als zodanig leidt een uitzending naar miljoenen apparaten tot miljoenen aanroepen naar de PNS's. Het kan niet schalen van deze aanvragen, omdat app-ontwikkelaars meestal de totale latentie laag willen houden (bijvoorbeeld het laatste apparaat dat het bericht moet ontvangen, mag de melding 30 minuten nadat de meldingen zijn verzonden, niet ontvangen, omdat het in veel gevallen het doel van pushmeldingen zou verslaan).
Routering. Een PNS biedt een manier om een bericht naar een apparaat te verzenden. In de meeste apps zijn meldingen echter gericht op gebruikers en/of belangengroepen (bijvoorbeeld alle werknemers die zijn toegewezen aan een bepaald klantaccount). Als zodanig moet de back-end van de app een register onderhouden dat belangengroepen koppelt aan apparaattokens om de meldingen naar de juiste apparaten te routeren. Deze overhead voegt de totale tijd toe aan de markt- en onderhoudskosten van een toepassing.
Bewaking en telemetrie. Het bijhouden en aggregeren van de resultaten van miljoenen meldingen is niet triviaal en is meestal een belangrijk onderdeel van een oplossing die gebruikmaakt van pushmeldingen.
Notification Hubs gebruiken
Notification Hubs elimineren één grote complexiteit: u hoeft de uitdagingen van pushmeldingen niet te beheren. Notification Hubs maken het een stuk eenvoudiger voor u. Ze maken gebruik van een uitgebreide pushmeldinginfrastructuur voor meerdere platforms en er is veel minder push-specifieke code in de back-end van de app nodig. Notification Hubs implementeren alle functionaliteit van een push-infrastructuur. Apparaten zijn alleen verantwoordelijk voor het registreren van PNS-ingangen en de back-end is verantwoordelijk voor het verzenden van platformonafhankelijke berichten aan gebruikers of belangengroepen, zoals wordt weergegeven in de volgende afbeelding:
Notification Hubs bieden een push-infrastructuur met de volgende voordelen:
Meerdere platforms:
Ondersteuning voor alle belangrijke mobiele platforms (Windows/Windows Phone, iOS, Android).
Geen platformspecifieke protocollen. De toepassing communiceert alleen met Notification Hubs.
Beheer van apparaatingangen. Notification Hubs werken het ingangenregister en de feedback van PNS's bij.
Werkt met elke back-end. Cloud of on-premises, .NET, PHP, Java, Node, enzovoort.
Schaal aanpassen. Notification Hubs worden geschaald naar miljoenen apparaten zonder dat er opnieuw hoeft te worden ontworpen of sharding nodig is. Beschikbaar in alle regio's.
Uitgebreide reeks leveringspatronen. Koppel apparaten aan tags, die logische gebruikers of belangengroepen vertegenwoordigen.
Uitzenden: met één API-aanroep kan een bericht bijna gelijktijdig naar miljoenen apparaten worden uitgezonden.
Unicast/Multicast: pushen naar tags die afzonderlijke gebruikers vertegenwoordigen, inclusief al hun apparaten; of een bredere groep; Bijvoorbeeld afzonderlijke formulierfactoren (tablet versus telefoon).
Segmentatie: pushen naar complexe segmenten die zijn gedefinieerd door tagexpressies (bijvoorbeeld apparaten in New York na de Yankees).
Persoonlijke instellingen. Elk apparaat kan een of meer sjablonen hebben om lokalisatie en persoonlijke instellingen per apparaat te bereiken zonder dat dit van invloed is op de back-endcode.
Beveiliging. Shared Access Secret (SAS) of federatieve verificatie.
Uitgebreide telemetrie. Beschikbaar in de portal en programmatisch.
Samenvatting
Pushmeldingen zijn een integraal onderdeel geworden van elke moderne toepassing, omdat ze de gebruikersbetrokkenheid voor consumenten-apps en het hulpprogramma van bedrijfs-apps verhogen.
Notification Hubs bieden een eenvoudig te gebruiken, multiplatform, uitgeschaalde push-infrastructuur, waardoor de codering en het onderhoud van app-back-endcode aanzienlijk worden verminderd.
Notification Hubs kunnen vanuit elke back-end (cloud of on-premises) worden gebruikt om pushmeldingen te verzenden naar alle belangrijke mobiele platforms (Windows/Windows Phone, iOS, Android).
Aanvullende resources
Hoe klanten Notification Hubs gebruiken
Zelfstudies en handleidingen voor Notification Hubs
Zelfstudies om aan de slag te gaan met Notification Hubs:
De relevante door .NET beheerde API-verwijzingen voor Notification Hubs bevinden zich hier: