Sdílet prostřednictvím


Odesílání push oznámení pomocí služby 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 během několika 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 aplikace Node.js.

Zahrnuté 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
  • Windows Phone

Centra oznámení

Azure Notification Hubs poskytuje snadno použitelnou škálovatelnou infrastrukturu s více platformami 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é Node.js aplikace. Pokyny k vytvoření aplikace Node.js najdete v tématu Vytvoření a nasazení aplikace Node.js na webu Azure, Node.js Cloudová služba pomocí Windows PowerShell, nebo Webová stránka s použitím WebMatrix.

Konfigurace aplikace pro použití Notification Hubs

Pokud chcete používat Službu Azure Notification Hubs, musíte si stáhnout a použít Node.js balíček 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í Správce balíčků uzlů (NPM)

  1. Použijte rozhraní příkazového řádku, jako je PowerShell (Windows), Terminal (Mac) nebo Bash (Linux) a přejděte do složky, do které jste vytvořili prázdnou aplikaci.
  2. V příkazovém okně spusťte npm install azure-sb.
  3. Spuštěním příkazu ls nebo dir můžete ručně ověřit, že byla vytvořena složka node_modules.
  4. V této složce vyhledejte 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í centra oznámení Azure

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

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

Získejte hodnotu připojení connectionstring z portálu Azure následujícími kroky:

  1. V levém navigačním podokně klikněte na Procházet.
  2. Vyberte Notification Hubsa vyhledejte centrum, které chcete použít pro ukázku. 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 sdílené i úplné připojovací řetězce.

Azure Portal – Notification Hubs

Poznámka:

Připojovací řetězec můžete načíst také pomocí rutiny Get-AzureSbNamespace v Azure PowerShellu nebo příkazu azure sb namespace show 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 objekt GcmService, který je k dispozici na notificationHubService.gcm
  • iOS – použijte objekt ApnsService, který je přístupný na notificationHubService.apns
  • Windows Phone – použijte objekt MpnsService, který je k dispozici na notificationHubService.mpns
  • Universal Windows Platform – použijte objekt WnsService, který je k dispozici na notificationHubService.wns

Poznámka:

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

Návod: Odeslání push notifikací do aplikací pro Android

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

  • štítky – identifikátor štítku. Pokud není k dispozici žádná značka, oznámení se odešle všem klientům.
  • Zatížení - JSON nebo nezpracovaný textový řetězec zprávy.
  • zpětné volání – funkce zpětného volání.

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

Následující kód používá instanci GcmService vystavenou NotificationHubService k zaslání push oznámení všem registrovaným klientům.

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

Jak odesílat push oznámení do aplikací pro iOS

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

  • značky – identifikátor štítku. Pokud není k dispozici žádná značka, oznámení se odešle všem klientům.
  • Náklad - JSON nebo řetězec nákladu zprávy.
  • zpětné volání – funkce zpětného volání.

Další informace o formátu datové části naleznete v části Obsah oznámení oznámení průvodce UserNotifications.

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

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

Jak na to: Odesílání push oznámení do aplikací pro Windows Phone

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

  • značky – identifikátor značky. Pokud není k dispozici žádná značka, oznámení se odešle všem klientům.
  • Náklad - XML náklad zprávy.
  • TargetName - toast pro informační zprávy. token pro oznámení dlaždic.
  • NotificationClass – priorita oznámení. Platné hodnoty najdete v části Elementy hlaviček HTTP dokumentu Push oznámení ze serveru.
  • Možnosti – volitelné hlavičky požadavků.
  • zpětné volání – funkce zpětného volání.

Seznam platných možností TargetName, NotificationClass a záhlaví najdete na stránce push oznámení ze serveru.

Následující ukázkový kód používá instanci MpnsService vystavenou NotificationHubService k odeslání oznámení typu toast:

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

Jak na to: Odeslat push oznámení aplikacím Universal Windows Platform (UWP)

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

  • značky – identifikátor značky. Pokud není k dispozici žádná značka, oznámení se odešle všem registrovaným klientům.
  • Užitečné zatížení – užitečné zatížení zprávy XML.
  • Typ – typ oznámení.
  • Možnosti – volitelné hlavičky požadavku.
  • zpětné volání – funkce zpětného volání.

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

Následující kód používá instanci WnsService, kterou zpřístupnil NotificationHubService, k odeslání toast oznámení do UWP aplikace.

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 vytvářet 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, najdete na těchto odkazech další informace o tom, jak můžete tyto možnosti dále rozšířit.