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)
- 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.
- V příkazovém okně spusťte
npm install azure-sb
příkaz . - Vytvoření složky můžete ověřit ručním spuštěním
ls
node_modules
příkazu nebodir
. - 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:
- V levém navigačním podokně klikněte na Procházet.
- 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.
- Vyberte Nastavení.
- Klikněte na Zásady přístupu. Zobrazí se připojovací řetězce sdíleného i úplného přístupu.
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 adresenotificationHubService.gcm
-
iOS – použijte
ApnsService
objekt , který je přístupný na adresenotificationHubService.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 TargetName
mož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.
- Projděte si referenční informace na webu MSDN pro Službu Azure Notification Hubs.
- Další ukázky a podrobnosti o implementaci najdete v úložišti Azure SDK pro Node na GitHubu.