přehledu této služby

Azure Notification Hubs poskytuje snadno použitelnou infrastrukturu, která umožňuje odesílat mobilní nabízená oznámení z jakéhokoli back-endu (v cloudu nebo místním prostředí) do libovolné mobilní platformy.

S Notification Hubs můžete snadno odesílat multiplatformní individuální nabízená oznámení, abstrakce podrobností o různých systémech oznámení platformy (PNS). Pomocí jednoho volání rozhraní API můžete cílit na jednotlivé uživatele nebo na celé segmenty zahrnující miliony uživatelů, a to na všech jejich zařízeních.

Notification Hubs můžete využívat ve scénářích odpovídajícím potřebám velkých firem i individuálních uživatelů. Příklad:

  • Odesílání oznámení o aktuálních zprávách milionům příjemcům s nízkou latencí (Služba Notification Hubs využívá aplikace Bing, které jsou předinstalované na všech zařízeních s Windows a Windows Phone.)

  • Odesílání kupónů závislých na aktuální poloze celým uživatelským segmentům

  • Odesílání oznámení o událostech uživatelům nebo skupinám v aplikacích z oblasti sportu, financí nebo her

  • Upozorňování uživatelů na firemní události, jako jsou nové zprávy či e-maily nebo prodejní tipy

  • Zasílání jednorázových hesel potřebných pro vícefaktorové ověřování

Co jsou nabízená oznámení?

Smartphony a tablety umožňují uživatelům informovat uživatele, když došlo k události. V aplikaci Windows Store a Windows Phone se oznámení zobrazí v informačním kanálu (v horní části obrazovky se zobrazuje bez režimu) nebo s aktualizacemi dlaždic na obrazovce Start. Podobně se na zařízeních Android a Apple iOS zobrazí oznámení seskupené na panelu oznámení, který je snadno přístupný z horní části obrazovky.

Nabízená oznámení pomáhají back-endům aplikací zobrazovat nové informace na mobilních zařízeních i v případě, že aplikace na zařízení není aktivní.

Nabízená oznámení se doručují prostřednictvím infrastruktur specifických pro platformy, které se označují jako systémy oznámení platforem (PNS). PNS nabízí holébony (to znamená, že nepodporuje vysílání nebo přizpůsobení) a PNS specifické pro platformu nemají žádné společné rozhraní. Pokud například chcete odeslat oznámení do aplikace Windows Storu, musí vývojář kontaktovat službu WNS (Windows Notification Service). Pokud chcete odeslat oznámení do iOS zařízení, stejný vývojář kontaktuje službu APNS (Apple Push Notification Service) a odešle zprávu podruhé. Proces je podobný pro aplikace Windows Phone 8 a Android.

Na vysoké úrovni se všechny systémy oznámení platformy řídí stejným vzorem:

  1. Klientská aplikace kontaktuje PNS a načte jeho popisovač. Typ popisovače závisí na systému. Pro službu WNS se jedná o identifikátor URI nebo "kanál oznámení". Pro APNS se jedná o token.

  2. Klientská aplikace ukládá tento popisovač do back-endu aplikace pro pozdější použití. U služby WNS je back-end obvykle cloudovou službou. U Applu se tento systém označuje jako „provider“.

  3. Pokud chcete odeslat nabízené oznámení, back-end aplikace kontaktuje PNS pomocí popisovače pro cílení instance konkrétní klientské aplikace.

  4. Systém PNS předá oznámení do zařízení určeného popisovačem.

Notification Hubs

Infrastruktura potřebná k implementaci tohoto toku je poměrně složitá a většinou nesouvisí s hlavní obchodní logikou aplikace. Zde jsou některé z problémů při vytváření infrastruktury nabízených oznámení na vyžádání:

  • Závislost platformy Abyste mohli odesílat oznámení zařízením na různých platformách, musíte v back-endu zakódovat více rozhraní. Nejen že se liší podrobnosti nízké úrovně, ale také prezentace oznámení (dlaždice, toast nebo odznáček) je závislá na platformě. Tyto rozdíly vedou ke složitým a těžko udržovat back-endový kód.

  • Škálování. Škálování této infrastruktury má dva aspekty:

    • Podle pokynů pro systém PNS je nutné tokeny zařízení obnovovat při každém spuštění aplikace. To vede k velkému množství provozu (a následného přístupu k databázi), aby byly tokeny zařízení aktuální. Když počet zařízení roste (možná až na miliony), náklady na vytváření a údržbu této infrastruktury nejsoutriviální.

    • Většina PNS nepodporuje vysílání na více zařízeních. Například vysílání na miliony zařízení vede k milionům volání do PNS. Schopnost škálovat tyto požadavky je netriviální, protože vývojáři aplikací obvykle chtějí zachovat celkovou latenci (například poslední zařízení, které obdrží zprávu, by nemělo oznámení dostávat 30 minut po odeslání oznámení, protože v mnoha případech by to poškodilo účel nabízených oznámení).

  • Směrování Systémy PNS poskytují způsob, jak odeslat zprávu do zařízení. Ve většině aplikací se ale oznámení cílí na uživatele nebo skupiny zájmů (například všichni zaměstnanci přiřazení k určitému zákaznickému účtu). Back-end aplikace musí udržovat registr, který přidruží skupiny zájmů k tokenům zařízení, aby bylo možné oznámení směrovat na správná zařízení. Tato režie přidává celkovou dobu uvedení na trh a náklady na údržbu aplikace.

  • Monitorování a telemetrie Sledování a agregace výsledků milionů oznámení není triviální a obvykle je to důležitá součást jakéhokoli řešení, které používá nabízená oznámení.

Používání notification Hubs

Notification Hubs eliminuje jednu velkou složitost: nemusíte spravovat problémy s nabízenými oznámeními. Místo toho můžete použít centrum oznámení. Služba Notification Hubs využívá multiplatformní a horizontálně škálovanou infrastrukturu pro nabízená oznámení a výrazně redukuje kód specifický pro jejich odesílání, který musí běžet na back-endu aplikace. Služba Notification Hubs implementuje všechny funkce infrastruktury nabízených oznámení. Zařízení zodpovídají pouze za registraci popisovačů systému PNS a back-end zodpovídá za zasílání zpráv, které jsou nezávislé na platformě, uživatelům nebo uživatelským skupinám, jak je znázorněno na následujícím obrázku:

Notification Hubs

Notification Hubs poskytují nabízenou infrastrukturu s následujícími výhodami:

  • Více platforem:

    • Podpora pro všechny hlavní mobilní platformy (Windows/Windows Phone, iOS, Android).

    • Žádné protokoly specifické pro platformu. Aplikace komunikuje pouze se službou Notification Hubs.

    • Správa popisovačů zařízení. Služba Notification Hubs udržuje registr popisovačů a zpětnou vazbu ze systémů PNS.

  • Funguje s jakýmkoli back-endem. Cloud nebo místní prostředí, .NET, PHP, Java, Node atd.

  • Škálování. Notification Hubs se škáluje na miliony zařízení bez nutnosti opětovného navrhování nebo horizontálního dělení. Dostupné ve všech oblastech.

  • Bohatá sada vzorů doručení. Přidružte zařízení se značkami, které představují logické uživatele nebo skupiny zájmů.

    • Vysílání: Umožňuje téměř simultánní vysílání na miliony zařízení na základě jednoho volání rozhraní API.

    • Jednosměrové vysílání/vícesměrové vysílání: nabízení do značek představujících jednotlivé uživatele, včetně všech jejich zařízení; nebo širší skupina; Například samostatné faktory formuláře (tablet vs. telefon).

    • Segmentace: Vložení do komplexního segmentu definovaného výrazy značek (například zařízení v New Yorku po Yankees).

  • Přizpůsobení. Každé zařízení může mít jednu nebo více šablon, aby bylo možné dosáhnout lokalizace a přizpůsobení jednotlivých zařízení, aniž by to mělo vliv na back-endový kód.

  • Zabezpečení. K dispozici je sdílený tajný přístupový klíč (SAS) nebo federované ověření.

  • Bohatá telemetrie. Dostupné na portálu a programově.

Souhrn

  • Nabízená oznámení se stala nedílnou součástí jakékoli moderní aplikace, protože zvyšují zapojení uživatelů do uživatelských aplikací a nástroje podnikových aplikací.

  • Notification Hubs poskytuje snadno použitelnou, multiplatformní, škálovanou infrastrukturu nabízených oznámení, která výrazně snižuje kódování a údržbu back-endového kódu aplikace.

  • Služba Notification Hubs se dá použít z libovolného back-endu (cloudu nebo místního prostředí) k odesílání nabízených oznámení do všech hlavních mobilních platforem (Windows/Windows Phone, iOS, Android).

Další materiály

Jak zákazníci používají Notification Hubs

Kurzy a příručky k Notification Hubs

Úvodní kurzy služby Notification Hubs:

Tady najdete relevantní reference ke spravovanému rozhraní API .NET pro centra oznámení:

Microsoft.WindowsAzure.Messaging.NotificationHub

Microsoft.ServiceBus.Notifications