Share via


Notification Hubs – áttekintés

Az Azure Notification Hubs egy könnyen használható infrastruktúrát biztosít, amellyel mobil leküldéses értesítéseket küldhet bármilyen háttérrendszerből (a felhőből vagy a helyszínen) bármilyen mobilplatformra.

A Notification Hubs segítségével egyszerűen küldhet platformfüggetlen, személyre szabott leküldéses értesítéseket, absztrakcióval a különböző platformértesítési rendszerek (PNS-ek) részleteit. Egyetlen API-hívással megcélozhat egyes felhasználókat vagy akár felhasználók millióit tartalmazó teljes célközönség-szegmenseket, az összes eszközön.

A Notification Hubs szolgáltatást vállalati és végfelhasználói célokra is használhatja. Például:

  • Legfrissebb híreket tartalmazó értesítések küldése felhasználók millióinak minimális késéssel (a Notification Hubs működteti a Windows- és Windows Phone-eszközön előre telepített Bing-alkalmazásokat).

  • Helyalapú kuponok küldése felhasználói szegmenseknek.

  • Eseményértesítések küldése felhasználóknak vagy csoportoknak sport-/pénzügyi/játékalkalmazásokban.

  • Felhasználók értesítése olyan vállalati eseményekről, mint az új üzenetek, e-mailek, vagy új értékesítési lehetőségek.

  • Egyszer használatos jelszavak küldése többtényezős hitelesítéshez.

Mik azok a leküldéses értesítések?

Az okostelefonok és táblagépek képesek "értesíteni" a felhasználókat egy esemény bekövetkezésekor. Az Windows Store-ban és Windows Phone-telefon alkalmazásokban az értesítés bejelentést (a képernyő tetején egy mód nélküli ablakot) vagy a csempefrissítéseket eredményez a kezdőképernyő. Hasonlóképpen, Android és Apple iOS eszközökön az értesítések a képernyő tetejéről könnyen elérhető értesítési panelen jelennek meg csoportosítva.

A leküldéses értesítések segítségével az alkalmazás háttérrendszerei friss információkat jelenítenek meg a mobileszközökön akkor is, ha az eszközön lévő alkalmazás nem aktív.

A leküldéses értesítéseket a rendszerek platformspecifikus, Platform Notification System (PNS) nevű infrastruktúrákon keresztül küldik el. A PNS csupasz funkciókat kínál (azaz nem támogatja a szórást vagy a személyre szabást), és a platformspecifikus PNS-ek nem rendelkeznek közös felülettel. Ha például egy Windows Store-alkalmazásnak szeretne értesítést küldeni, a fejlesztőnek kapcsolatba kell lépnie a WNS-sel (Windows Értesítési szolgáltatással). Ha értesítést szeretne küldeni egy iOS eszközre, ugyanaz a fejlesztő kapcsolatba lép az APNS-sel (Apple Push Notification Service), és másodszor is elküldi az üzenetet. A folyamat hasonló a Windows Phone-telefon 8-hoz és Android alkalmazásokhoz.

Magas szinten minden platformértesítési rendszer ugyanazt a mintát követi:

  1. Az ügyfélalkalmazás kapcsolatba lép a PNS-hez a leíró lekéréséhez. A leíró típusa a rendszertől függ. A WNS esetében ez egy URI vagy egy "értesítési csatorna". Az APNS esetében ez egy jogkivonat.

  2. Az ügyfélalkalmazás ezt a leírót az alkalmazás háttérrendszerében tárolja későbbi használatra. A WNS esetében a háttérrendszer általában egy felhőszolgáltatás. Az Apple esetén a rendszer neve szolgáltató.

  3. Leküldéses értesítés küldéséhez az alkalmazás háttérrendszere a leíróval kapcsolatba lép a PNS-sel egy adott ügyfélalkalmazás egy példányának megcélzásához.

  4. A PNS továbbküldi az értesítést a leíróban meghatározott eszközre.

Notification Hubs

A folyamat megvalósításához szükséges infrastruktúra meglehetősen összetett, és többnyire nem kapcsolódik az alkalmazás fő üzleti logikához. Néhány példa az igény szerinti leküldéses infrastruktúrák felépítésének kihívásaira:

  • Platformfüggőség. Ahhoz, hogy értesítéseket tudjon küldeni a különböző platformokon lévő eszközökre, több felületet kell kódania a háttérrendszerben. Nem csak az alacsony szintű részletek különböznek, hanem az értesítés (csempe, bejelentés vagy jelvény) megjelenítése is platformfüggetlen. Ezek a különbségek összetett és nehezen karbantartható háttérkódot eredményeznek.

  • Skálázás. Az infrastruktúra méretezésének két szempontja van:

    • A PNS-irányelvek szerint az eszközök tokenjeit minden alkalommal frissíteni kell, amikor az alkalmazás elindul. Ez nagy adatforgalmat (és ennek következtében adatbázis-hozzáférést) eredményez, csak azért, hogy az eszköz jogkivonatai naprakészek maradjanak. Ha az eszközök száma növekszik (akár milliókra is), az infrastruktúra létrehozásának és karbantartásának költsége nem költséges.

    • A legtöbb PNS nem támogatja a több eszközre történő szórást. Így a több millió eszközre irányuló közvetítés több millió hívást eredményez a PNS-ekhez. A kérések skálázása nem egyszerű, mert az alkalmazásfejlesztők általában alacsonyan szeretnék tartani a teljes késést (például az üzenetet fogadó utolsó eszköznek nem szabad 30 perccel az értesítések elküldése után kapnia az értesítést, mert sok esetben ez nem felelne meg a leküldéses értesítések céljának).

  • Útválasztás. A PNS-ek módot biztosítanak egy üzenet elküldéséhez egy eszközre. A legtöbb alkalmazásban azonban az értesítések felhasználókat és/vagy érdeklődési csoportokat céloznak meg (például egy adott ügyfélfiókhoz rendelt összes alkalmazottat). Ezért az alkalmazás háttérrendszerének olyan beállításjegyzéket kell fenntartania, amely az érdeklődési csoportokat az eszközjogkivonatokhoz társítja, hogy az értesítéseket a megfelelő eszközökre irányítsa. Ez a többletköltség növeli az alkalmazás piaci és karbantartási költségeinek teljes idejét.

  • Monitorozás és telemetria. Az értesítések millióinak eredményeinek nyomon követése és összesítése nem triviális, és általában a leküldéses értesítéseket használó megoldások fontos összetevője.

A Notification Hubs használata

A Notification Hubs kiküszöböli az egyik nagy összetettség, így nem kell kezelnie a leküldéses értesítések kihívásait. Ehelyett használhat egy értesítési központot. A Notification Hubs egy multiplatformos, kibővített leküldéses értesítési infrastruktúrát használ, és jelentősen lecsökkenti a leküldéshez tartozó kódot, amely az alkalmazás hátterében fut. A Notification Hubs a leküldéses infrastruktúrák minden funkcióját megvalósítja . Az eszközök csak a PNS-leírók regisztrálásáért, a háttér pedig a platformfüggetlen üzenetek felhasználóknak vagy érdekcsoportoknak való elküldéséért felelős, ahogy a következő ábrán is látszik:

Notification Hubs

A Notification Hubs leküldéses infrastruktúrát biztosít a következő előnyökkel:

  • Több platform:

    • Az összes nagyobb mobilplatform (Windows/Windows Phone-telefon, iOS, Android) támogatása.

    • Nincsenek platformspecifikus protokollok. Az alkalmazás kizárólag a Notification Hubs szolgáltatással kommunikál.

    • Eszközleírók kezelése. A Notification Hubs tartja fenn a leírók jegyzékét és PNS-visszajelzéseket.

  • Bármilyen háttérrendszerrel működik. Felhő vagy helyszíni, .NET, PHP, Java, Node stb.

  • Skálázás. A Notification Hubs több millió eszközre méretezhető anélkül, hogy újraépítésre vagy horizontális skálázásra lenne szükség. Minden régióban elérhető.

  • A kézbesítési minták gazdag készlete. Az eszközöket címkékkel társíthatja, amelyek logikai felhasználókat vagy érdeklődési csoportokat jelölnek.

    • Szórás: közel egyidejű továbbítást tesz lehetővé eszközök millióira egyetlen API-hívással.

    • Egyedi küldés/csoportos küldés: leküldés az egyes felhasználókat képviselő címkékre, beleértve az összes eszközüket is; vagy szélesebb csoport; például különböző formatényezők (táblagép és telefon).

    • Szegmentálás: leküldés címkekifejezésekkel definiált összetett szegmensbe (például a Jenkik utáni New York-i eszközökre).

  • Személyre szabás. Minden eszköz rendelkezhet egy vagy több sablonnal, hogy eszközenkénti honosítást és személyre szabást érjen el anélkül, hogy ez hatással lenne a háttérkódra.

  • Biztonság. Közös hozzáférésű jogosultságkód (SAS) vagy összevont hitelesítés.

  • Gazdag telemetria. Elérhető a portálon és programozott módon.

Összefoglalás

  • A leküldéses értesítések minden modern alkalmazás szerves részévé váltak, mivel növelik a felhasználói aktivitást a fogyasztói alkalmazások és a nagyvállalati alkalmazások számára.

  • A Notification Hubs egy könnyen használható, többplatformos, kibővített leküldéses infrastruktúrát biztosít, amely jelentősen csökkenti az alkalmazás háttérkódjának kódolását és karbantartását.

  • A Notification Hubs bármilyen háttérrendszerből (felhőből vagy a helyszínen) használható leküldéses értesítések küldésére az összes nagyobb mobilplatformra (Windows/Windows Phone-telefon, iOS, Android).

További források

Hogyan használják az ügyfelek a Notification Hubs szolgáltatást

A Notification Hubs szolgáltatással kapcsolatos oktatóanyagok és útmutatók

A Notification Hubs első lépéseket ismertető oktatóanyagai:

Az értesítési központokhoz kapcsolódó .NET-beli felügyelt API-referenciák itt találhatók:

Microsoft.WindowsAzure.Messaging.NotificationHub

Microsoft.ServiceBus.Notifications