Compartilhar via


Tutorial: Enviar notificações para aplicativos da Plataforma Universal do Windows usando Os Hubs de Notificação do Azure

Neste tutorial, você criará um hub de notificação para enviar notificações por push para um aplicativo da Plataforma Universal do Windows (UWP). Você cria um aplicativo da Windows Store em branco que recebe notificações por push usando o Serviço de Notificação por Push do Windows (WNS). Em seguida, use o hub de notificação para transmitir notificações por push para todos os dispositivos que executam seu aplicativo.

Observação

Você pode encontrar o código completo para este tutorial no GitHub.

Execute as seguintes etapas:

  • Criar um aplicativo na Windows Store
  • Criar um hub de notificação
  • Criar um aplicativo windows de exemplo
  • Enviar notificações de teste

Pré-requisitos

  • Assinatura do Azure. Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.
  • Microsoft Visual Studio 2017 ou posterior. O exemplo neste tutorial usa o Visual Studio 2019.
  • Ferramentas de desenvolvimento de aplicativos UWP instaladas.
  • Uma conta ativa da Windows Store.
  • Confirme que a configuração Receber notificações de aplicativos e outros remetentes está habilitada.
    • Inicie a janela Configurações em seu computador.
    • Selecione o bloco Sistema.
    • Selecione Notificações > ações no menu à esquerda.
    • Confirme se a configuração Obter notificações de aplicativos e outros remetentes está habilitada. Se ele não estiver habilitado, habilite-o.

Concluir este tutorial é um pré-requisito para todos os outros tutoriais de Hubs de Notificação para aplicativos UWP.

Criar um aplicativo na Windows Store

Observação

O MPNS (Serviço de Notificação por Push) da Microsoft foi preterido e não há mais suporte.

Para enviar notificações por push para aplicativos UWP, associe seu aplicativo à Windows Store. Em seguida, configure o hub de notificação para se integrar ao WNS.

  1. Navegue até o Centro de Desenvolvimento do Windows, entre com sua conta da Microsoft e, em seguida, selecione Criar um novo aplicativo.

    Botão Novo aplicativo

  2. Digite um nome para seu aplicativo e selecione Reservar nome do produto. Isso cria um novo registro da Windows Store para seu aplicativo.

    Armazene o nome do aplicativo

  3. Expanda o gerenciamento de produtos e selecione Identidade do Produto. Anote os valores SID do Pacote, Pacote/Identidade/Nome, Pacote/Identidade/Publicador e Pacote/Propriedades/PublisherDisplayName .

    Aplicativos do Partner Center

  4. Em Gerenciamento de produtos, selecione WNS/MPNS e selecione o portal de Registro de Aplicativo. Entre em sua conta Microsoft. A página de cadastro da aplicação é aberta em uma nova guia.

    Página WNS

  5. No Essentials, selecione as credenciais do cliente: Adicionar um certificado ou segredo.

    Configurações do Hub de Notificação no portal do Azure

  6. Na página Certificados & segredos , em Segredos do Cliente, selecione Novo segredo do cliente. Depois de criar um segredo do cliente (também chamado de segredo do aplicativo), anote-o antes de sair da página.

    Aviso

    Você só pode exibir valores de segredo do cliente (segredo do aplicativo) imediatamente após criá-los. Salve o segredo antes de sair da página.

    Segredo do cliente no portal

    Aviso

    O segredo do aplicativo e o SID do pacote são credenciais de segurança importantes. Não compartilhe esses valores com ninguém nem distribua-os com seu aplicativo.

Criar um hub de notificação

  1. Entre no portal do Azure.

  2. Selecione Todos os serviços no menu esquerdo. Uma captura de tela mostrando selecionar Todos os serviços para um namespace existente.

  3. Digite Hubs de Notificação na caixa de texto Filtrar serviços. Selecione o ícone de estrela ao lado do nome do serviço para adicionar o serviço na seção FAVORITOS no menu à esquerda. Selecione Hubs de Notificação.

    Uma captura de tela mostrando como filtrar para hubs de notificação.

  4. Na página Hubs de Notificações, selecione Criar na barra de ferramentas.

    Uma captura de tela mostrando como criar um novo hub de notificações.

  5. Na guia Informações Básicas da página Hub de Notificações, execute as seguintes etapas:

    1. Em Assinatura, selecione o nome da assinatura do Azure que deseja usar e escolha um grupo de recursos existente ou crie um.

    2. Insira um nome exclusivo para o novo namespace em Detalhes do Namespace.

    3. Um namespace contém um ou mais hubs de notificações. Portanto, digite um nome para o hub em Detalhes do Hub de Notificações.

    4. Selecione um valor da lista suspensa Local. Esse valor especifica a localização na qual você deseja criar o hub.

      Captura de tela mostrando os detalhes do hub de notificações.

    5. Revise a opção Zonas de Disponibilidade. Se você escolher uma região que tenha zonas de disponibilidade, a caixa de seleção será marcada por padrão. As Zonas de Disponibilidade são um recurso pago, portanto, um valor adicional será acrescentado à sua camada de serviço.

    6. Escolha uma opção de Recuperação de desastre: Nenhuma, Região de recuperação emparelhada ou Região de recuperação flexível. Se você escolher Região de recuperação emparelhada, a região de failover será exibida. Se você selecionar Região de recuperação flexível, use a lista suspensa para escolher uma das regiões de recuperação.

      Captura de tela mostrando detalhes da zona de disponibilidade.

    7. Selecione Criar.

  6. Após a conclusão da implantação, selecione Ir para o recurso.

Definir configurações do WNS para o hub

  1. Na categoria CONFIGURAÇÕES DE NOTIFICAÇÃO, selecione Windows (WNS).

  2. Insira valores para o SID do Pacote (como "ms-app://<Your Package SID>") e a Chave de Segurança (o Segredo do Aplicativo) que você anotou na seção anterior.

  3. Clique em Salvar na barra de ferramentas.

    As caixas SID de Pacote e Chave de Segurança

Seu hub de notificação agora está configurado para funcionar com o WNS. Você possui as strings de conexão para registrar seu aplicativo e enviar notificações.

Criar um aplicativo windows de exemplo

  1. No Visual Studio, abra o menu Arquivo, selecione Novo e, em seguida, Projeto.

  2. Na caixa de diálogo Criar um novo projeto , conclua as seguintes etapas:

    • Na caixa de pesquisa na parte superior, digite Windows Universal.

    • Nos resultados da pesquisa, selecione Aplicativo em Branco (Windows Universal) e, em seguida, selecione Avançar.

      caixa de diálogo Novo Projeto

    • Na caixa de diálogo Configurar seu novo projeto , insira um nome de projeto e um local para os arquivos do projeto.

    • Selecione Criar.

  3. Aceite os padrões para as versões de plataforma mínima e de destino e selecione OK.

  4. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto de aplicativo da Windows Store, selecione Publicar e selecione Associar Aplicativo à Loja. O assistente Associar seu aplicativo à Windows Store é exibido.

  5. No assistente, faça login com sua conta da Microsoft.

  6. Selecione o aplicativo que você registrou na etapa 2, selecione Avançar e selecione Associar. Isso adiciona as informações de registro necessárias da Windows Store ao manifesto do aplicativo.

  7. No Visual Studio, clique com o botão direito do mouse na solução e selecione Gerenciar Pacotes NuGet. A janela Gerenciar Pacotes NuGet é aberta.

  8. Na caixa de pesquisa, insira WindowsAzure.Messaging.Managed, selecione Instalar e aceite os termos de uso.

    A janela Gerenciar Pacotes do NuGet

    Essa ação baixa, instala e adiciona uma referência à biblioteca de Hubs de Notificação do Azure para Windows usando o pacote NuGet Microsoft.Azure.NotificationHubs.

  9. Abra o arquivo de App.xaml.cs projeto e adicione as seguintes instruções:

    using Windows.Networking.PushNotifications;
    using Microsoft.WindowsAzure.Messaging;
    using Windows.UI.Popups;
    
  10. No arquivo do projeto App.xaml.cs, localize a classe App e adicione a seguinte definição de método InitNotificationsAsync. Substitua <your hub name> pelo nome do hub de notificação que você criou no portal do Azure e substitua <Your DefaultListenSharedAccessSignature connection string> pela DefaultListenSharedAccessSignature cadeia de conexão da página Policias de Acesso do hub de notificação:

    private async void InitNotificationsAsync()
    {
        var channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
    
        var hub = new NotificationHub("<your hub name>", "<Your DefaultListenSharedAccessSignature connection string>");
        var result = await hub.RegisterNativeAsync(channel.Uri);
    
        // Displays the registration ID so you know it was successful
        if (result.RegistrationId != null)
        {
            var dialog = new MessageDialog("Registration successful: " + result.RegistrationId);
            dialog.Commands.Add(new UICommand("OK"));
            await dialog.ShowAsync();
        }
    }
    

    Esse código recupera no WNS o URI do canal para o aplicativo e registra esse URI do canal no hub de notificação.

    Observação

    Substitua o marcador de posição hub name pelo nome do hub de notificação que aparece no portal do Azure. Além disso, substitua o espaço reservado da cadeia de conexão pela cadeia de conexão DefaultListenSharedAccessSignature obtida na página Políticas de Acesso do seu hub de notificação em uma seção anterior.

  11. No início do manipulador de eventos OnLaunched, em App.xaml.cs, adicione a seguinte chamada ao novo método InitNotificationsAsync:

    InitNotificationsAsync();
    

    Essa ação garante que o URI do canal seja registrado no hub de notificação sempre que o aplicativo for iniciado.

  12. Clique com o botão direito do mouse Package.appxmanifest e selecione Código de Exibição (F7). Localize <Identity .../> e substitua o valor de Nome pelo Pacote/Identidade/Nome e substitua seu valor de Publicador pelo valor de Pacote/Identidade/Publicador do aplicativo criado anteriormente.

  13. Para executar o aplicativo, pressione a tecla F5 do teclado. Uma caixa de diálogo que contém a chave de registro será exibida. Para fechar a caixa de diálogo, clique em OK.

    Registro bem-sucedido

Seu aplicativo agora está pronto para receber notificações toast.

Enviar notificações de teste

Você pode testar rapidamente o recebimento de notificações em seu aplicativo enviando notificações no portal do Azure.

  1. No portal do Azure, alterne para a guia Visão Geral e selecione Testar Enviar na barra de ferramentas.

    Botão Enviar teste

  2. Na janela Enviar teste , execute as seguintes ações:

    • Para Plataformas, selecione Windows.

    • Para Tipo de Notificação, selecione Toast.

    • Selecione Enviar.

      O painel Envio de Teste

  3. Veja o resultado da operação Enviar na lista De resultados na parte inferior da janela. Você também verá uma mensagem de alerta.

    Resultado da operação de envio

  4. Você vê a mensagem de notificação: Mensagem de teste na área de trabalho.

    Mensagem de notificação

Próximas etapas

Você enviou notificações de transmissão para todos os seus dispositivos Windows usando o portal do Azure ou um aplicativo de console. Para saber como enviar notificações por push a dispositivos específicos, avance ao seguinte tutorial: