tutorial notificationhubs notification microsoft hub node.js azure windows-phone-8.1 azure-notificationhub azure-node-sdk

node.js - notificationhubs - azure notification hub tutorial



¿Cómo registrar dispositivos en Azure Notification Hub desde el servidor(con NodeJS sdk)? (2)

Estoy desarrollando una aplicación de Windows Phone 8.1 (RT), estoy intentando enviar notificaciones con Azure Notification Hub. Puedo hacerlo con el SDK del lado del cliente disponible. Pero quiero hacer el registro del dispositivo, el etiquetado, etc. desde el lado del servidor. Veo una buena guía para .Net backend en http://blogs.msdn.com/b/azuremobile/archive/2014/04/08/push-notifications-using-notification-hub-and-net-backend.aspx . Estoy usando NodeJS en el lado del servidor back-end. ¿Alguien puede ayudarme en lo mismo, con un código de muestra más o menos?

  • Quiero registrar dispositivos desde el lado del servidor (iPhone, Android y Windows Phone), de hecho tengo los tokens del dispositivo disponibles en el lado del servidor que se envía desde el dispositivo a través de una llamada API.
  • Quiero actualizar varias etiquetas para cada dispositivo de vez en cuando.
  • Deseo anular el registro de los dispositivos cuando el usuario lo solicite.
  • Deseo enviar notificaciones automáticas a etiquetas específicas, usando la plantilla.

Mire el SDK de fuente abierta para el lado del servidor. Nunca lo probé, pero debería estar bien porque cualquier SDK es solo un envoltorio para la API REST .


Los pasos para registrar el token del dispositivo y enviar la notificación usando el Hub de notificación en node.js son los siguientes:

  1. Crear una ID de registro
  2. Crear registro
  3. Enviar notificación

Este es el código del lado del servidor, una vez que se recibe el token del dispositivo. Tenga en cuenta que la identificación de registro, el token de dispositivo, la etiqueta y la función de devolución de llamada son parámetros necesarios para la llamada a notificationHubService.apns.send.

Aquí está el fragmento de código:

var azure = require(''azure''); var notificationHubService = azure.createNotificationHubService(''<Hub Name>'',''<Connection String>''); var payload={ alert: ''Hello!'' }; notificationHubService.createRegistrationId(function(error, registrationId, response){ if(!error){ console.log(response); console.log(registrationId); //RegistrationDescription registration = null; //registration.RegistrationId = registrationId; //registration.DeviceToken = req.body.token; notificationHubService.apns.createOrUpdateNativeRegistration(registrationId, req.body.token, req.token.upn, function(error, response){ if(!error){ console.log(''Inside : createOrUpdateNativeRegistration'' + response); notificationHubService.apns.send(null, payload, function(error){ if(!error){ // notification sent console.log(''Success: Inside the notification send call to Hub.''); } }); } else{ console.log(''Error in registering the device with Hub'' + error); } }); } else{ console.log(''Error in generating the registration Id'' + error); } });