Odesílání nabízených oznámení službou Azure Notification Hubs a Node.js

Přehled

Důležité

K dokončení tohoto kurzu potřebujete mít aktivní účet Azure. Pokud účet nemáte, vytvořte si bezplatný zkušební účet za pár minut prostřednictvím bezplatné zkušební verze Azure.

V této příručce se dozvíte, jak odesílat nabízená oznámení pomocí Služby Azure Notification Hubs přímo z Node.js aplikace.

Popsané scénáře zahrnují odesílání nabízených oznámení aplikacím na následujících platformách:

  • Android
  • iOS
  • Univerzální platforma Windows
  • telefon se systémem Windows

Notification Hubs

Azure Notification Hubs poskytuje snadno použitelnou škálovatelnou infrastrukturu pro více platforem pro odesílání nabízených oznámení do mobilních zařízení. Podrobnosti o infrastruktuře služeb najdete na stránce Azure Notification Hubs .

Vytvoření aplikace Node.js

Prvním krokem v tomto kurzu je vytvoření nové prázdné aplikace Node.js. Pokyny k vytvoření Node.js aplikace najdete v tématu Vytvoření a nasazení aplikace Node.js na web Azure, Node.js cloudovou službu pomocí Windows PowerShell nebo web s webMatrixem.

Konfigurace aplikace tak, aby používala Notification Hubs

Pokud chcete používat Azure Notification Hubs, musíte si stáhnout a použít balíček Node.js Azure, který obsahuje integrovanou sadu pomocných knihoven, které komunikují se službami REST nabízených oznámení.

Získání balíčku pomocí Node Package Manageru (NPM)

  1. Použijte rozhraní příkazového řádku, jako je PowerShell (Windows), Terminál (Mac) nebo Bash (Linux), a přejděte do složky, ve které jste vytvořili prázdnou aplikaci.
  2. V příkazovém okně spusťte npm install azure-sb příkaz .
  3. Vytvoření složky můžete ověřit ručním spuštěním lsnode_modules příkazu nebo dir .
  4. V této složce najděte balíček Azure , který obsahuje knihovny, které potřebujete pro přístup k centru oznámení.

Poznámka

Další informace o instalaci NPM najdete na oficiálním blogu NPM.

Import modulu

Pomocí textového editoru přidejte na začátek server.js souboru aplikace následující:

var azure = require('azure-sb');

Nastavení připojení k centru oznámení Azure

Objekt NotificationHubService umožňuje pracovat s centry oznámení. Následující kód vytvoří NotificationHubService objekt pro centrum oznámení s názvem hubname. Přidejte ho na začátek server.js souboru za příkaz pro import modulu Azure:

var notificationHubService = azure.createNotificationHubService('hubname','connectionstring');

Následujícím postupem získejte hodnotu připojení connectionstring z Azure Portal:

  1. V levém navigačním podokně klikněte na Procházet.
  2. Vyberte Notification Hubs a najděte centrum, které chcete pro ukázku použít. Pokud potřebujete pomoc s vytvořením nového centra oznámení, můžete se podívat na kurz Začínáme Windows Store.
  3. Vyberte Nastavení.
  4. Klikněte na Zásady přístupu. Zobrazí se připojovací řetězce sdíleného i úplného přístupu.

Azure Portal – Notification Hubs

Poznámka

Připojovací řetězec můžete také načíst pomocí rutiny Get-AzureSbNamespace v Azure PowerShell nebo azure sb namespace show příkazu v Azure Classic CLI.

Obecná architektura

Objekt NotificationHubService zveřejňuje následující instance objektů pro odesílání nabízených oznámení konkrétním zařízením a aplikacím:

  • Android – použijte GcmService objekt , který je k dispozici na adrese notificationHubService.gcm
  • iOS – použijte ApnsService objekt , který je přístupný na adrese notificationHubService.apns
  • Windows Phone – použijte MpnsService objekt , který je k dispozici na adresenotificationHubService.mpns
  • Univerzální platforma Windows – použijte WnsService objekt , který je k dispozici na adresenotificationHubService.wns

Poznámka

Služba MPNS (Microsoft Push Notification Service) je zastaralá a už se nepodporuje.

Postupy: Odesílání nabízených oznámení aplikacím pro Android

Objekt GcmService poskytuje metodu send , kterou lze použít k odesílání nabízených oznámení aplikacím pro Android. Metoda send přijímá následující parametry:

  • Tags – identifikátor značky. Pokud není k dispozici žádná značka, odešle se oznámení všem klientům.
  • Payload – datová část JSON nebo nezpracovaného řetězce zprávy.
  • Zpětné volání – funkce zpětného volání.

Další informace o formátu datové části najdete v dokumentaci k datové části.

Následující kód používá GcmService instanci vystavenou objektem k NotificationHubService odeslání nabízeného oznámení všem registrovaným klientům.

var payload = {
  data: {
    message: 'Hello!'
  }
};
notificationHubService.gcm.send(null, payload, function(error){
  if(!error){
    //notification sent
  }
});

Postupy: Odesílání nabízených oznámení do aplikací pro iOS

Stejně jako u aplikací pro Android popsaných výše poskytuje objekt metodusend, ApnsService kterou lze použít k odesílání nabízených oznámení do aplikací pro iOS. Metoda send přijímá následující parametry:

  • Tags – identifikátor značky. Pokud není k dispozici žádná značka, odešle se oznámení všem klientům.
  • Payload – datová část JSON nebo řetězce zprávy.
  • Zpětné volání – funkce zpětného volání.

Další informace o formátu datové části najdete v části Obsah oznámenív příručce UserNotifications.

Následující kód používá ApnsService instanci vystavenou objektem k NotificationHubService odeslání výstrahy všem klientům:

var payload={
    alert: 'Hello!'
  };
notificationHubService.apns.send(null, payload, function(error){
  if(!error){
      // notification sent
  }
});

Postupy: Odesílání nabízených oznámení Windows Phone aplikacím

Objekt MpnsService poskytuje metodusend, kterou lze použít k odesílání nabízených oznámení Windows Phone aplikacím. Metoda send přijímá následující parametry:

  • Tags – identifikátor značky. Pokud není k dispozici žádná značka, odešle se oznámení všem klientům.
  • Payload – datová část XML zprávy.
  • Targetname - toast pro informační zprávy. token pro oznámení na dlaždici.
  • NotificationClass – priorita oznámení. Platné hodnoty najdete v části Elementy hlavičky PROTOKOLU HTTP v dokumentu Nabízená oznámení ze serveru .
  • Možnosti – volitelné hlavičky požadavků.
  • Zpětné volání – funkce zpětného volání.

Seznam platných TargetNamemožností záhlaví a najdete NotificationClass na stránce Nabízená oznámení ze serveru .

Následující vzorový kód používá MpnsService instanci vystavenou objektem NotificationHubService k odeslání informační zprávy nabízeného oznámení:

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
  }
});

Postupy: Odesílání nabízených oznámení aplikacím Univerzální platforma Windows (UPW)

Objekt WnsService poskytuje metodusend, kterou lze použít k odesílání nabízených oznámení Univerzální platforma Windows aplikacím. Metoda send přijímá následující parametry:

  • Tags – identifikátor značky. Pokud není k dispozici žádná značka, oznámení se odešle všem registrovaným klientům.
  • Payload – datová část zprávy XML.
  • Type – typ oznámení.
  • Možnosti – volitelné hlavičky požadavků.
  • Zpětné volání – funkce zpětného volání.

Seznam platných typů a hlaviček požadavků najdete v tématu Hlavičky požadavků a odpovědí služby nabízených oznámení.

Následující kód používá WnsService instanci vystavenou objektem NotificationHubService k odeslání informační zprávy nabízené oznámení do aplikace pro UPW:

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
  }
});

Další kroky

Výše uvedené ukázkové fragmenty kódu umožňují snadno vytvořit infrastrukturu služeb pro doručování nabízených oznámení široké škále zařízení. Teď, když jste se seznámili se základy používání Notification Hubs s Node.js, použijte tyto odkazy a získejte další informace o tom, jak můžete tyto možnosti dále rozšířit.