Центр уведомлений Azure - прямая отправка с использованием NodeJS - PullRequest
0 голосов
/ 20 ноября 2018

Несколько месяцев назад наша команда внедрила прямое уведомление на устройство, используя Firebase для Android и iOS.Желая сделать то же самое для Windows, я смотрю на аналогичную функциональность.Единственное, что отвечает требованиям, - это Прямая отправка

. Я наткнулся на это сообщение в блоге, объявляющее Пакетная прямая отправка

Однако в нем не хватаетсроки образцов.Я хотел бы использовать NodeJS и пакет Azure npm.В уведомлении hubservice.js есть этот метод, который используется wnsservice.js

/**
* Sends a message.
* @ignore
*
* @param {object|string}      payload                                      The message's payload.
* @param {object}             [options]                                    The request options or callback function. Additional properties will be passed as headers.
* @param {string}             [options.ServiceBusNotification-Tags]        Comma-separated list of tag identifiers.
* @param {string}             [options.ServiceBusNotification-Format]      String. 'apple', 'windows', 'gcm', or 'windowsphone'.
* @param {string}             [options.ServiceBusNotification-ApnsExpiry]  The expiry date.
* @param {Function(error, response)} callback                              `error` will contain information
*                                                                          if an error occurs; otherwise, `response`
*                                                                          will contain information related to this operation.
*/
NotificationHubService.prototype._sendNotification = function (payload, optionsOrCallback, callback) {
  var options;
  azureutil.normalizeArgs(optionsOrCallback, callback, function (o, c) { options = o; callback = c; });

  validateCallback(callback);

  var webResource = WebResource.post(this.hubName + '/Messages');
  setRequestHeaders(webResource, options);

  if (!webResource.headers[HeaderConstants.CONTENT_TYPE]) {
    webResource.withHeader(HeaderConstants.CONTENT_TYPE, 'text/xml;charset="utf-8"');
  }

  webResource.withHeader(HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(payload, 'utf8'));

  this._executeRequest(webResource, payload, null, null, callback);
};

Кто-нибудь реализовал прямые уведомления устройства?Если да, то как мне сгенерировать полезную нагрузку с URI канала данных и устройства.

...