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:
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.
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ó.
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.
A PNS továbbküldi az értesítést a leíróban meghatározott eszközre.
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:
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: