Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Overzicht
Belangrijk
U hebt een actief Azure-account nodig om deze zelfstudie te voltooien. Als u geen account hebt, maakt u binnen een paar minuten een gratis proefaccount via de gratis proefversie van Azure.
Deze handleiding laat zien hoe u pushmeldingen rechtstreeks vanuit een Node.js-toepassing verzendt met behulp van Azure Notification Hubs.
De behandelde scenario's omvatten het verzenden van pushmeldingen naar toepassingen op de volgende platforms:
- Android
- Ios
- Het Universele Windows-platform
- Windows Phone
Notification Hubs (meldingsplatform)
Azure Notification Hubs bieden een gebruiksvriendelijke, schaalbare infrastructuur met meerdere platforms voor het verzenden van pushmeldingen naar mobiele apparaten. Zie de pagina Azure Notification Hubs voor meer informatie over de service-infrastructuur.
Een Node.js-toepassing maken
De eerste stap in deze zelfstudie is het maken van een nieuwe, lege Node.js toepassing. Zie Een Node.js-toepassing maken en implementeren op een Azure-website, Node.js cloudservice met Windows PowerShell of een website met WebMatrix voor instructies over het maken van een Node.js toepassing.
Uw toepassing configureren voor het gebruik van Notification Hubs
Als u Azure Notification Hubs wilt gebruiken, moet u het Node.js Azure-pakket downloaden en gebruiken. Dit pakket bevat een ingebouwde set helperbibliotheken die communiceren met de REST-services voor pushmeldingen.
Node Package Manager (NPM) gebruiken om het pakket te verkrijgen
- Gebruik een opdrachtregelinterface zoals PowerShell (Windows), Terminal (Mac) of Bash (Linux) en navigeer naar de map waarin u uw lege toepassing hebt gemaakt.
- Voer
npm install azure-sbdit uit in het opdrachtvenster. - U kunt de
lsofdiropdracht handmatig uitvoeren om te controleren of er eennode_modulesmap is gemaakt. - Zoek in die map het Azure-pakket , dat de bibliotheken bevat die u nodig hebt voor toegang tot de Notification Hub.
Opmerking
Meer informatie over het installeren van NPM vindt u op de officiƫle NPM-blog.
Importeer de module
Voeg met behulp van een teksteditor het volgende toe aan het begin van het server.js bestand van de toepassing:
var azure = require('azure-sb');
Een Azure Notification Hub-verbinding instellen
Met NotificationHubService het object kunt u werken met Notification Hubs. Met de volgende code wordt een NotificationHubService object gemaakt voor de Notification Hub met de naam hubname. Voeg deze toe aan de bovenkant van het server.js bestand, na de instructie om de Azure-module te importeren:
var notificationHubService = azure.createNotificationHubService('hubname','connectionstring');
Haal de verbindingswaarde connectionstring op uit de Azure-portal door de volgende stappen uit te voeren:
- Klik in het linkernavigatiedeelvenster op Bladeren.
- Selecteer Notification Hubs en zoek vervolgens de hub die u voor het voorbeeld wilt gebruiken. Raadpleeg de zelfstudie Aan de slag met Windows Store als u hulp nodig hebt bij het maken van een nieuwe Notification Hub.
- Selecteer Instellingen.
- Klik op Toegangsbeleid. U ziet zowel gedeelde als volledige toegang tot verbindingsreeksen.
Opmerking
U kunt de verbindingsreeks ook ophalen via de Get-AzureSbNamespace cmdlet in Azure PowerShell of de azure sb namespace show opdracht in de klassieke Azure CLI.
Algemene architectuur
Het NotificationHubService object toont de volgende objectexemplaren voor het verzenden van pushmeldingen naar specifieke apparaten en toepassingen:
-
Android : gebruik het
GcmServiceobject, dat beschikbaar is opnotificationHubService.gcm -
iOS : gebruik het
ApnsServiceobject, dat toegankelijk is opnotificationHubService.apns -
Windows Phone : gebruik het
MpnsServiceobject, dat beschikbaar is opnotificationHubService.mpns -
Universeel Windows-platform - gebruik het
WnsServiceobject, dat beschikbaar is opnotificationHubService.wns
Opmerking
Microsoft Push Notification Service (MPNS) is afgeschaft en wordt niet meer ondersteund.
Zo verzend je pushmeldingen naar Android-apps
Het GcmService object biedt een send methode die kan worden gebruikt voor het verzenden van pushmeldingen naar Android-toepassingen. De send methode accepteert de volgende parameters:
- Tags : de tag-id. Als er geen tag wordt opgegeven, wordt de melding verzonden naar alle clients.
- Payload - de JSON- of onbewerkte stringpayload van berichten.
- Callback: de callback-functie .
Zie de documentatie over payload voor meer informatie over de payload-indeling.
De volgende code gebruikt het GcmService exemplaar dat wordt blootgesteld door de NotificationHubService om een pushbericht te verzenden naar alle geregistreerde cliƫnten.
var payload = {
data: {
message: 'Hello!'
}
};
notificationHubService.gcm.send(null, payload, function(error){
if(!error){
//notification sent
}
});
Hoe: Pushmeldingen verzenden naar iOS-apps
Hetzelfde als bij Android-toepassingen die hierboven worden beschreven, biedt het ApnsService object een send methode die kan worden gebruikt voor het verzenden van pushmeldingen naar iOS-toepassingen. De send methode accepteert de volgende parameters:
- Tags : de tag-id. Als er geen tag wordt opgegeven, wordt de melding verzonden naar alle clients.
- Payload : de JSON- of tekenreekspayload van het bericht.
- Callback: de callback-functie .
Voor meer informatie over de payload-indeling, zie de sectie Notification Content van de handleiding UserNotifications.
In de volgende code wordt het ApnsService-exemplaar gebruikt dat door NotificationHubService wordt blootgelegd om een waarschuwingsbericht naar alle clients te verzenden.
var payload={
alert: 'Hello!'
};
notificationHubService.apns.send(null, payload, function(error){
if(!error){
// notification sent
}
});
Hoe te: Pushmeldingen verzenden naar Windows Phone-apps
Het MpnsService object biedt een send methode die kan worden gebruikt voor het verzenden van pushmeldingen naar Windows Phone-toepassingen. De send methode accepteert de volgende parameters:
- Tags : de tag-id. Als er geen tag wordt opgegeven, wordt de melding verzonden naar alle clients.
- Nettolading : de XML-nettolading van het bericht.
-
TargetName -
toastvoor pop-upmeldingen.tokenvoor tegelmeldingen. - NotificationClass : de prioriteit van de melding. Zie de sectie HTTP-headerelementen van de pushmeldingen van een serverdocument voor geldige waarden.
- Opties : optionele aanvraagheaders.
- Callback - de callback-functie.
Ga naar de pagina Pushmeldingen van een server voor een lijst met geldige TargetName, NotificationClass en koptekstopties.
In de volgende voorbeeldcode gebruikt het MpnsService-exemplaar, dat door de NotificationHubService wordt blootgesteld, om een toastmelding te verzenden.
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
}
});
Hoe te: De pushmeldingen verzenden naar UWP-toepassingen (Universal Windows Platform)
Het WnsService object biedt een send methode die kan worden gebruikt voor het verzenden van pushmeldingen naar Universal Windows Platform-toepassingen. De send methode accepteert de volgende parameters:
- Tags : de tag-id. Als er geen tag wordt opgegeven, wordt de melding verzonden naar alle geregistreerde clients.
- Berichtinhoud - de inhoud van het XML-bericht.
- Type : het meldingstype.
- Opties - optionele headers voor aanvragen.
- Callback: de callback-functie .
Zie Aanvraag- en antwoordheaders voor pushmeldingen voor een lijst met geldige typen en aanvraagheaders.
In de volgende code wordt het WnsService exemplaar gebruikt dat door de NotificationHubService wordt aangeboden om een toast push melding naar een UWP-app te verzenden.
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
}
});
Volgende stappen
Met de bovenstaande voorbeeldfragmenten kunt u eenvoudig een service-infrastructuur bouwen om pushmeldingen te verzenden naar een groot aantal apparaten. Nu u de basisprincipes van het gebruik van Notification Hubs met Node.jshebt geleerd, volgt u deze koppelingen voor meer informatie over hoe u deze mogelijkheden verder kunt uitbreiden.
- Zie de MSDN-verwijzing voor Azure Notification Hubs.
- Ga naar de Azure SDK voor Node-opslagplaats op GitHub voor meer voorbeelden en implementatiedetails.