Leküldéses értesítések küldése az Azure Notification Hubs és a Node.js
Áttekintés
Fontos
Az oktatóanyag elvégzéséhez egy aktív Azure-fiókra lesz szüksége. Ha nem rendelkezik fiókkal, hozzon létre egy ingyenes próbafiókot néhány perc alatt az Ingyenes Azure-próbaverzión keresztül.
Ez az útmutató bemutatja, hogyan küldhet leküldéses értesítéseket az Azure Notification Hubs segítségével közvetlenül egy Node.js alkalmazásból.
A tárgyalt forgatókönyvek közé tartozik a leküldéses értesítések küldése az alkalmazásoknak a következő platformokon:
- Android
- iOS
- Univerzális Windows-platform
- Windows Phone
Notification Hubs
Az Azure Notification Hubs egy könnyen használható, többplatformos, méretezhető infrastruktúrát biztosít a leküldéses értesítések mobileszközökre való küldéséhez. A szolgáltatásinfrastruktúrával kapcsolatos részletekért tekintse meg az Azure Notification Hubs oldalát.
Node.js-alkalmazás létrehozása
Az oktatóanyag első lépése egy új üres Node.js alkalmazás létrehozása. A Node.js-alkalmazások létrehozásával kapcsolatos utasításokért lásd: Node.js-alkalmazás létrehozása és üzembe helyezése az Azure-webhelyen, Node.js Cloud Service-ben Windows PowerShell vagy webwebhely a WebMatrix használatával.
Az alkalmazás konfigurálása a Notification Hubs használatára
Az Azure Notification Hubs használatához le kell töltenie és használnia kell a Node.js Azure-csomagot, amely beépített segédkódtárakat tartalmaz, amelyek kommunikálnak a leküldéses értesítési REST-szolgáltatásokkal.
A csomag beszerzése a Node Package Manager (NPM) használatával
- Használjon parancssori felületet, például a PowerShellt (Windows), a Terminált (Mac) vagy a Basht (Linux), és keresse meg azt a mappát, ahol létrehozta az üres alkalmazást.
- Hajtsa végre
npm install azure-sb
a parancsablakban. - A vagy
dir
als
parancs manuális futtatásával ellenőrizheti, hogy létrejött-e egynode_modules
mappa. - A mappában keresse meg az azure-csomagot , amely tartalmazza azokat a kódtárakat, amelyekre szüksége van a Notification Hub eléréséhez.
Megjegyzés
Az NPM telepítéséről a hivatalos NPM-blogon tudhat meg többet.
A modul importálása
Szövegszerkesztővel adja hozzá a következőket az server.js
alkalmazás fájljának elejéhez:
var azure = require('azure-sb');
Azure Notification Hub-kapcsolat beállítása
Az NotificationHubService
objektum lehetővé teszi az értesítési központokkal való munkát. Az alábbi kód létrehoz egy NotificationHubService
objektumot a nevű hubname
értesítési központhoz. Adja hozzá a server.js
fájl elejéhez az azure-modul importálására vonatkozó utasítás után:
var notificationHubService = azure.createNotificationHubService('hubname','connectionstring');
Szerezze be a kapcsolati connectionstring
értéket a Azure Portal a következő lépések végrehajtásával:
- A bal oldali navigációs panelen kattintson a Tallózás gombra.
- Válassza a Notification Hubs lehetőséget, majd keresse meg a mintához használni kívánt központot. Ha segítségre van szüksége egy új értesítési központ létrehozásához, tekintse meg a Windows Áruház Első lépések oktatóanyagát.
- Válassza a Beállítások lehetőséget.
- Kattintson a Hozzáférési szabályzatok elemre. A megosztott és a teljes hozzáférésű kapcsolati sztringek is megjelennek.
Megjegyzés
A kapcsolati sztring a Azure PowerShellGet-AzureSbNamespace
parancsmaggal vagy a azure sb namespace show
klasszikus Azure CLI-ben található paranccsal is lekérheti.
Általános architektúra
Az NotificationHubService
objektum a következő objektumpéldányokat teszi elérhetővé leküldéses értesítések adott eszközökre és alkalmazásokba való küldéséhez:
- Android – használja a
GcmService
objektumot, amely a következő címen érhető el:notificationHubService.gcm
- iOS – használja az
ApnsService
objektumot, amely a következő helyen érhető el:notificationHubService.apns
- Windows Phone-telefon – használja a
MpnsService
következő címen elérhető objektumot:notificationHubService.mpns
- Univerzális Windows-platform – használja a
WnsService
következő címen elérhető objektumot:notificationHubService.wns
Megjegyzés
A Microsoft Leküldéses értesítési szolgáltatás (MPNS) elavult, és már nem támogatott.
Útmutató: Leküldéses értesítések küldése Android-alkalmazásokba
Az GcmService
objektum egy metódust send
biztosít, amellyel leküldéses értesítéseket küldhet androidos alkalmazásoknak. A send
metódus a következő paramétereket fogadja el:
- Címkék – a címke azonosítója. Ha nincs megadva címke, az értesítés minden ügyfélnek el lesz küldve.
- Payload – az üzenet JSON-ja vagy nyers sztring hasznos adatai.
- Visszahívás – a visszahívási függvény.
A hasznos adatok formátumával kapcsolatos további információkért tekintse meg a Hasznos adatok dokumentációját.
Az alábbi kód az GcmService
által NotificationHubService
közzétett példányt használja leküldéses értesítés küldéséhez az összes regisztrált ügyfélnek.
var payload = {
data: {
message: 'Hello!'
}
};
notificationHubService.gcm.send(null, payload, function(error){
if(!error){
//notification sent
}
});
Útmutató: Leküldéses értesítések küldése iOS-alkalmazásokba
A fent leírt Android-alkalmazásokhoz hasonlóan az ApnsService
objektum egy metódust send
is biztosít, amellyel leküldéses értesítéseket küldhet az iOS-alkalmazásoknak. A send
metódus a következő paramétereket fogadja el:
- Címkék – a címke azonosítója. Ha nincs megadva címke, az értesítés minden ügyfélnek el lesz küldve.
- Payload – az üzenet JSON- vagy sztringtartalma.
- Visszahívás – a visszahívási függvény.
A hasznos adatformátumról további információt a UserNotifications útmutatóÉrtesítési tartalom szakaszában talál.
Az alábbi kód az ApnsService
által NotificationHubService
közzétett példányt használja egy riasztási üzenet küldéséhez az összes ügyfélnek:
var payload={
alert: 'Hello!'
};
notificationHubService.apns.send(null, payload, function(error){
if(!error){
// notification sent
}
});
Útmutató: Leküldéses értesítések küldése Windows Phone-telefon alkalmazásokba
Az MpnsService
objektum egy metódust send
biztosít, amellyel leküldéses értesítéseket küldhet Windows Phone-telefon alkalmazásoknak. A send
metódus a következő paramétereket fogadja el:
- Címkék – a címke azonosítója. Ha nincs megadva címke, az értesítés minden ügyfélnek el lesz küldve.
- Payload – az üzenet XML-hasznos adatai.
- TargetName -
toast
bejelentési értesítésekhez.token
csempeértesítésekhez. - NotificationClass – Az értesítés prioritása. Az érvényes értékekért tekintse meg a leküldéses értesítések kiszolgálóról dokumentum HTTP-fejlécelemek szakaszát.
- Beállítások – opcionális kérelemfejlécek.
- Visszahívás – a visszahívási függvény.
Az érvényes TargetName
, NotificationClass
és fejlécbeállítások listájáért tekintse meg a Leküldéses értesítések kiszolgálóról lapot.
Az alábbi mintakód a MpnsService
által NotificationHubService
közzétett példányt használja bejelentési leküldéses értesítés küldéséhez:
var payload = '<?xml version="1.0" encoding="utf-8"?><wp:Notification xmlns:wp="WPNotification"><wp:Toast><wp:Text1>string</wp:Text1><wp:Text2>string</wp:Text2></wp:Toast></wp:Notification>';
notificationHubService.mpns.send(null, payload, 'toast', 22, function(error){
if(!error){
//notification sent
}
});
Útmutató: Leküldéses értesítések küldése Univerzális Windows-platform (UWP) alkalmazásokba
Az WnsService
objektum egy metódust send
biztosít, amellyel leküldéses értesítéseket küldhet Univerzális Windows-platform alkalmazásoknak. A send
metódus a következő paramétereket fogadja el:
- Címkék – a címke azonosítója. Ha nincs megadva címke, az értesítés minden regisztrált ügyfélnek el lesz küldve.
- Payload – az XML-üzenet hasznos adatai.
- Típus – az értesítés típusa.
- Beállítások – opcionális kérelemfejlécek.
- Visszahívás – a visszahívási függvény.
Az érvényes típusok és kérésfejlécek listáját a Leküldéses értesítési szolgáltatás kérései és válaszfejlécei című témakörben találja.
A következő kód a WnsService
által NotificationHubService
közzétett példányt használja egy bejelentési leküldéses értesítés küldésére egy UWP-alkalmazásnak:
var payload = '<toast><visual><binding template="ToastText01"><text id="1">Hello!</text></binding></visual></toast>';
notificationHubService.wns.send(null, payload , 'wns/toast', function(error){
if(!error){
// notification sent
}
});
Következő lépések
A fenti mintarészletek lehetővé teszik a szolgáltatásinfrastruktúra egyszerű kiépítését, hogy leküldéses értesítéseket küldhessenek számos különböző eszköznek. Most, hogy megismerte a Notification Hubs és a Node.js használatának alapjait, kövesse ezeket a hivatkozásokat, hogy többet tudjon meg arról, hogyan bővítheti tovább ezeket a képességeket.
- Tekintse meg az Azure Notification Hubs MSDN-referenciáját.
- További mintákért és megvalósítási részletekért látogasson el a GitHubon található Azure SDK for Node-adattárba .