Несколько месяцев назад наша команда внедрила прямое уведомление на устройство, используя 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 канала данных и устройства.