Я пытаюсь реализовать уведомления pu sh в приложении android, используя Azure Notifications Hub и NodeJS. Я могу получать уведомления, работающие с кодом. Net, но не с кодом NodeJS.
Вот работающий код. Net:
var client = NotificationHubClient.CreateClientFromConnectionString("<DefaultFullSharedAccessSignature>", "HubName");
Installation installation = new Installation();
installation.Platform = NotificationPlatform.Fcm;
installation.InstallationId = "<installation id>" ;
installation.PushChannel = "<token>";
installation.Tags = new string[] { "username:<user identifier>" };
await client.CreateOrUpdateInstallationAsync(installation);
var output = await client.SendFcmNativeNotificationAsync("{\"data\":{\"message\":\"Now working\"}}");
С NodeJS, моя первая путаница заключается в том, какую библиотеку использовать. Согласно Microsoft Docs , я могу использовать пакет azure -sb, но это не работает. Ошибок нет, но уведомление не отправляется. Не уверен, что это потому, что gcm устарел, но в этом пакете нет поддержки fcm.
var azure = require('azure-sb');
var notificationHubService = azure.createNotificationHubService('<hub name>', 'DefaultFullSharedAccessSignature');
notificationHubService.createRegistrationId(function (err, response) {
if (err)
console.log("Error: " + err);
else {
notificationHubService.gcm.createOrUpdateNativeRegistration(response, "<token>", "username:<user identifier>", function (e, response) {
if (e)
console.log(e);
else{
var payload={
alert: 'Hello!'
};
notificationHubService.gcm.send(null,payload,function(err, response){
if(err) console.log(err);
else console.log(response);
})
}
})
}
});
https://github.com/Azure/azure-sdk-for-js это кажется последним вариантом, но не знаю, как его использовать это с помощью подписи доступа.
Любые указатели действительно полезны. Спасибо.