Как зарегистрировать устройства в Azure Notification Hub со стороны сервера (с NodeJS sdk)?

Я разрабатываю приложение для Windows Phone 8.1 (RT) и пытаюсь отправить уведомление с помощью Azure Notification Hub. Я могу сделать это с доступным SDK на стороне клиента. Но я хочу сделать регистрацию устройства, пометки и т. Д. Со стороны сервера. Я вижу хорошее руководство по.Net backend на http://blogs.msdn.com/b/azuremobile/archive/2014/04/08/push-notifications-using-notification-hub-and-net-backend.aspx. Я использую NodeJS на стороне внутреннего сервера. Может ли кто-нибудь помочь мне в том же, с примером кода или около того.

  • Я хочу зарегистрировать устройства со стороны сервера (iPhone, Android и Windows Phone), на самом деле у меня есть токены устройства, доступные со стороны обслуживающего устройства, которые отправляются с устройства через вызов API.
  • Я хочу обновить несколько тегов для каждого устройства время от времени.
  • Я хочу отменить регистрацию устройств, когда пользователь запросит это сделать.
  • Я хочу отправить push-уведомление на определенные теги, используя шаблон.

2 ответа

Шаги для регистрации токена устройства и отправки уведомления с использованием концентратора уведомлений в файле node.js:

  1. Создать регистрационный идентификатор
  2. Создать регистрацию
  3. Отправить уведомление

Это код на стороне сервера после получения токена устройства. Обратите внимание, что идентификатор регистрации, маркер устройства, тег и функция обратного вызова являются обязательными параметрами для вызова уведомлений ubService.apns.send.

Вот фрагмент кода:

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

  });

Посмотрите на SDK с открытым исходным кодом на стороне сервера. Я никогда не пробовал, но все должно быть в порядке, потому что любой SDK - это просто оболочка для REST API.

Другие вопросы по тегам