Partilhar via


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

Neste tutorial, você cria 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, você usa seu hub de notificação para transmitir notificações por push para todos os dispositivos que estão executando seu aplicativo.

Observação

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

Siga os seguintes passos:

  • Criar uma aplicação na Loja Windows
  • Criar um hub de notificação
  • Criar um aplicativo de exemplo do Windows
  • Enviar notificações de teste

Pré-requisitos

  • Subscrição do Azure. Se não tiver uma subscrição do Azure, crie uma conta do Azure gratuita 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 se a configuração Obter notificações de aplicativos e outros remetentes está ativada.
    • Inicie a janela Configurações no seu computador.
    • Selecione o bloco Sistema .
    • Selecione Notificações e ações no menu à esquerda.
    • Confirme se a configuração Obter notificações de aplicativos e outros remetentes está ativada. Se não estiver ativado, ative-o.

A conclusão deste tutorial é um pré-requisito para todos os outros tutoriais dos Hubs de Notificação para aplicativos UWP.

Criar uma aplicação na Loja Windows

Observação

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

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

  1. Navegue até o Centro de Desenvolvimento do Windows, entre com sua conta da Microsoft e 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.

    Nome da App da Loja

  3. Expanda Gerenciamento de produtos e selecione Identidade do produto. Anote os valores SID do pacote, Package/Identity/Name, Package/Identity/Publisher e Package/Properties/PublisherDisplayName .

    Aplicativos do Partner Center

  4. Em Gerenciamento de produtos, selecione WNS/MPNS e, em seguida, selecione Portal de registro de aplicativos. Inicie sessão na sua conta Microsoft. A página de registo da aplicação é aberta num novo separador.

    Página WNS

  5. Em Essenciais, selecione 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), tome nota dele antes de sair da página.

    Advertência

    Você só pode visualizar os valores de segredo do cliente (segredo do aplicativo) imediatamente após criá-los. Certifique-se de salvar o segredo antes de sair da página.

    Segredo do cliente no portal

    Advertência

    O segredo do aplicativo e o SID do pacote são credenciais de segurança importantes. Não partilhe estes valores com ninguém nem distribua-os com a sua aplicação.

Criar um hub de notificação

  1. Inicie sessão no portal Azure.

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

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

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

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

    Uma captura de tela mostrando como criar um novo hub de notificação.

  5. Na guia Noções básicas na página do Hub de Notificação, execute as seguintes etapas:

    1. Em Subscrição, selecione o nome da subscrição do Azure que pretende utilizar e, em seguida, selecione um grupo de recursos existente ou crie um novo.

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

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

    4. Selecione um valor na lista suspensa Local. Esse valor especifica o local no qual você deseja criar o hub.

      Captura de tela mostrando os detalhes do hub de notificação.

    5. Reveja 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 uma funcionalidade paga, pelo que é adicionada uma taxa adicional ao seu nível.

    6. Escolha uma opção de recuperação de desastres: 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 selecionar Região de recuperação flexível, utilize a lista suspensa para escolher entre as opções de regiões de recuperação.

      Captura de ecrã a mostrar detalhes da zona de disponibilidade.

    7. Selecione Criar.

  6. Quando a implantação estiver concluída, selecione Ir para recurso.

Definir configurações do WNS para o hub

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

  2. Insira valores para SID do pacote (como "ms-app://<Your Package SID>") e 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 e Chave de Segurança do Pacote

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

Criar um aplicativo de exemplo do Windows

  1. No Visual Studio, abra o menu Arquivo , selecione Novo e, em seguida, selecione 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 Blank App (Universal Windows), 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 de projeto.

    • Selecione Criar.

  3. Aceite os padrões para as versões de plataforma de destino e mínima 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, inicie sessão com a sua conta Microsoft.

  6. Selecione a aplicação que registou no passo 2, selecione Seguinte e, em seguida, 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, digite WindowsAzure.Messaging.Managed, selecione Instalar e aceite os termos de uso.

    A janela Gerenciar pacotes NuGet

    Esta ação baixa, instala e adiciona uma referência à biblioteca dos 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 App.xaml.cs projeto, localize a App classe e adicione a seguinte InitNotificationsAsync definição de método. Substitua <your hub name> pelo nome do hub de notificação criado no portal do Azure e substitua <Your DefaultListenSharedAccessSignature connection string>DefaultListenSharedAccessSignature pela cadeia de conexão da página Políticas de Acesso do seu 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();
        }
    }
    

    Este código obtém o URI do canal para a aplicação a partir do WNS e, de seguida, regista esse URI do canal no seu hub de notificações.

    Observação

    Substitua o marcador de posição hub name pelo nome do hub de notificação que aparece no portal do Azure. Substitua também o espaço reservado para a cadeia de conexão pela cadeia de conexão que obtiveste na página DefaultListenSharedAccessSignature do hub de notificação numa secção anterior.

  11. Na parte superior 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 em seu hub de notificação sempre que o aplicativo for iniciado.

  12. Clique com o Package.appxmanifest botão direito do mouse e selecione Exibir código (F7). Localize <Identity .../> e substitua o valor Name pelo valor Package/Identity/Name e substitua seu valor Publisher pelo valor Package/Identity/Publisher do aplicativo criado anteriormente.

  13. Para executar o aplicativo, pressione a tecla F5 do teclado. Será exibida uma caixa de diálogo contendo a chave de registro. Para fechar a caixa de diálogo, clique em OK.

    Registo bem-sucedido

A sua aplicação está agora pronta para receber notificações.

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 envio na barra de ferramentas.

    Botão Enviar Teste

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

    • Em Plataformas, selecione Windows.

    • Em Tipo de notificação, selecione Brinde.

    • Selecione Enviar.

      O painel de Teste de Envio

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

    Resultado da operação Enviar

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

    Mensagem de notificação

Próximos passos

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 push para dispositivos específicos, avance para o tutorial seguinte: