Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Descrição Geral
Importante
Para concluir este tutorial, tem de ter uma conta ativa do Azure. Se não tiver uma conta, crie uma conta de avaliação gratuita em apenas alguns minutos através da Avaliação Gratuita do Azure.
Este guia mostra-lhe como enviar notificações push com a ajuda dos Hubs de Notificação do Azure diretamente a partir de uma aplicaçãoNode.js .
Os cenários abrangidos incluem o envio de notificações push para aplicações nas seguintes plataformas:
- Android
- iOS
- Plataforma Universal do Windows
- Windows Phone
Hubs de Notificação
Os Hubs de Notificação do Azure fornecem uma infraestrutura dimensionável, multiplataformas e fácil de utilizar para enviar notificações push para dispositivos móveis. Para obter detalhes sobre a infraestrutura de serviço, veja a página Hubs de Notificação do Azure .
Criar uma Aplicação Node.js
O primeiro passo neste tutorial é criar uma nova aplicação em branco Node.js. Para obter instruções sobre como criar uma aplicação Node.js, veja Criar e implementar uma aplicação Node.js no Web Site do Azure, Node.js Serviço Cloud com Windows PowerShell ou Web Site com WebMatrix.
Configurar a aplicação para utilizar hubs de notificação
Para utilizar os Hubs de Notificação do Azure, tem de transferir e utilizar a Node.js pacote do Azure, que inclui um conjunto incorporado de bibliotecas auxiliares que comunicam com os serviços REST de notificação push.
Utilizar o Gestor de Pacotes de Nós (NPM) para obter o pacote
- Utilize uma interface de linha de comandos, como o PowerShell (Windows), Terminal (Mac) ou Bash (Linux) e navegue para a pasta onde criou a sua aplicação em branco.
- Execute
npm install azure-sbna janela de comandos. - Pode executar manualmente o
lscomando oudirpara verificar se foi criada umanode_modulespasta. - Dentro dessa pasta, localize o pacote do azure , que contém as bibliotecas de que precisa para aceder ao Hub de Notificação.
Nota
Pode saber mais sobre como instalar o NPM no blogue oficial do NPM.
Importar o módulo
Com um editor de texto, adicione o seguinte à parte superior do server.js ficheiro da aplicação:
var azure = require('azure-sb');
Configurar uma ligação do Hub de Notificação do Azure
O NotificationHubService objeto permite-lhe trabalhar com hubs de notificação. O código seguinte cria um NotificationHubService objeto para o hub de notificação com o nome hubname. Adicione-o perto da parte superior do server.js ficheiro, após a instrução para importar o módulo do azure:
var notificationHubService = azure.createNotificationHubService('hubname','connectionstring');
Obtenha o valor de ligação connectionstring do portal do Azure ao executar os seguintes passos:
- No painel de navegação esquerdo, clique em Procurar.
- Selecione Notification Hubs e, em seguida, localize o hub que pretende utilizar para o exemplo. Pode consultar o tutorial da Loja Windows Introdução se precisar de ajuda para criar um novo Hub de Notificação.
- Selecione Definições.
- Clique em Políticas de Acesso. Verá as cadeias de ligação de acesso completo e partilhado.
Nota
Também pode obter a cadeia de ligação através do Get-AzureSbNamespace cmdlet no Azure PowerShell ou do azure sb namespace show comando na CLI clássica do Azure.
Arquitetura geral
O NotificationHubService objeto expõe as seguintes instâncias de objeto para enviar notificações push para dispositivos e aplicações específicos:
-
Android - utilize o
GcmServiceobjeto, que está disponível emnotificationHubService.gcm -
iOS – utilize o
ApnsServiceobjeto , que é acessível emnotificationHubService.apns -
Windows Phone - utilize o
MpnsServiceobjeto, que está disponível emnotificationHubService.mpns -
Plataforma Universal do Windows - utilize o
WnsServiceobjeto, que está disponível emnotificationHubService.wns
Nota
O Serviço de Notificações Push da Microsoft (MPNS) foi preterido e já não é suportado.
Como: Enviar notificações push para aplicações Android
O GcmService objeto fornece um send método que pode ser utilizado para enviar notificações push para aplicações Android. O send método aceita os seguintes parâmetros:
- Etiquetas – o identificador da etiqueta. Se não for fornecida nenhuma etiqueta, a notificação é enviada a todos os clientes.
- Payload - payload de cadeia de carateres JSON ou raw da mensagem.
- Chamada de retorno – a função de chamada de retorno.
Para obter mais informações sobre o formato de payload, veja a documentação payload.
O código seguinte utiliza a GcmService instância exposta pelo NotificationHubService para enviar uma notificação push a todos os clientes registados.
var payload = {
data: {
message: 'Hello!'
}
};
notificationHubService.gcm.send(null, payload, function(error){
if(!error){
//notification sent
}
});
Como: Enviar notificações push para aplicações iOS
Tal como acontece com as aplicações Android descritas acima, o ApnsService objeto fornece um send método que pode ser utilizado para enviar notificações push para aplicações iOS. O send método aceita os seguintes parâmetros:
- Etiquetas – o identificador da etiqueta. Se não for fornecida nenhuma etiqueta, a notificação é enviada a todos os clientes.
- Payload - payload de cadeia ou JSON da mensagem.
- Chamada de retorno – a função de chamada de retorno.
Para obter mais informações sobre o formato de payload, veja a secção Conteúdo de Notificação do guia UserNotifications.
O código seguinte utiliza a ApnsService instância exposta pelo NotificationHubService para enviar uma mensagem de alerta a todos os clientes:
var payload={
alert: 'Hello!'
};
notificationHubService.apns.send(null, payload, function(error){
if(!error){
// notification sent
}
});
Como: Enviar notificações push para aplicações Windows Phone
O MpnsService objeto fornece um send método que pode ser utilizado para enviar notificações push para Windows Phone aplicações. O send método aceita os seguintes parâmetros:
- Etiquetas – o identificador da etiqueta. Se não for fornecida nenhuma etiqueta, a notificação é enviada a todos os clientes.
- Payload – o payload XML da mensagem.
-
TargetName -
toastpara notificações de alerta.tokenpara notificações de mosaico. - NotificationClass - A prioridade da notificação. Veja a secção Elementos de Cabeçalho HTTP das notificações push de um documento de servidor para obter valores válidos.
- Opções – cabeçalhos de pedido opcionais.
- Chamada de retorno – a função de chamada de retorno.
Para obter uma lista de opções válidas TargetNameNotificationClass e de cabeçalho, consulte as Notificações push a partir de uma página do servidor.
O seguinte código de exemplo utiliza a MpnsService instância exposta pelo NotificationHubService para enviar uma notificação push de alerta:
var payload = '<?xml version="1.0" encoding="utf-8"?><wp:Notification xmlns:wp="WPNotification"><wp:Toast><wp:Text1>string</wp:Text1><wp:Text2>string</wp:Text2></wp:Toast></wp:Notification>';
notificationHubService.mpns.send(null, payload, 'toast', 22, function(error){
if(!error){
//notification sent
}
});
Como: Enviar notificações push para aplicações Plataforma Universal do Windows (UWP)
O WnsService objeto fornece um send método que pode ser utilizado para enviar notificações push para Plataforma Universal do Windows aplicações. O send método aceita os seguintes parâmetros:
- Etiquetas – o identificador da etiqueta. Se não for fornecida nenhuma etiqueta, a notificação é enviada para todos os clientes registados.
- Payload - o payload da mensagem XML.
- Escreva - o tipo de notificação.
- Opções – cabeçalhos de pedido opcionais.
- Chamada de retorno – a função de chamada de retorno.
Para obter uma lista de tipos válidos e cabeçalhos de pedido, veja Pedido de notificações push e cabeçalhos de resposta.
O código seguinte utiliza a WnsService instância exposta pelo NotificationHubService para enviar uma notificação push de alerta para uma aplicação UWP:
var payload = '<toast><visual><binding template="ToastText01"><text id="1">Hello!</text></binding></visual></toast>';
notificationHubService.wns.send(null, payload , 'wns/toast', function(error){
if(!error){
// notification sent
}
});
Passos Seguintes
Os fragmentos de exemplo acima permitem-lhe criar facilmente uma infraestrutura de serviço para fornecer notificações push a uma grande variedade de dispositivos. Agora que aprendeu as noções básicas da utilização dos Hubs de Notificação com Node.js, siga estas ligações para saber mais sobre como pode expandir ainda mais estas capacidades.
- Veja a Referência do MSDN para Os Hubs de Notificação do Azure.
- Visite o repositório do SDK do Azure para Node no GitHub para obter mais exemplos e detalhes de implementação.