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

  1. 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.
  2. Hajtsa végre npm install azure-sb a parancsablakban.
  3. A vagy dir a ls parancs manuális futtatásával ellenőrizheti, hogy létrejött-e egy node_modules mappa.
  4. 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:

  1. A bal oldali navigációs panelen kattintson a Tallózás gombra.
  2. 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.
  3. Válassza a Beállítások lehetőséget.
  4. Kattintson a Hozzáférési szabályzatok elemre. A megosztott és a teljes hozzáférésű kapcsolati sztringek is megjelennek.

Azure Portal – Notification Hubs

Megjegyzés

A kapcsolati sztring a Azure PowerShellGet-AzureSbNamespace parancsmaggal vagy a azure sb namespace showklasszikus 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.