Guia de início rápido: interceptando notificações por push para aplicativos em execução (aplicativos da Windows Store que usam JavaScript e HTML)

Você pode projetar seu aplicativo para interceptar uma notificação por push e responder a ela de modo não padrão. Esse procedimento pode ser usado para todos os tipos de notificação por push, mas é particularmente útil para notificações do sistema e notificações brutas.

Quando o serviço em nuvem de seu aplicativo envia uma notificação ao Windows, o aplicativo tem a oportunidade de interceptar e manipular a notificação antes que ela exiba uma notificação do sistema, atualize um bloco ou uma notificação ou envie uma notificação bruta para uma tarefa em segundo plano. Ele também pode suprimir a exibição ou atualização desses elementos. A implementação de um manipulador de eventos de entrega de notificação é opcional. Isso é mais útil em cenários nos quais o aplicativo deseja manipular e suprimir notificações do sistema recebidas, em vez de mostrá-las ao usuário.

Observação  Esse procedimento se aplica somente a aplicativos em execução. As notificações que o sistema envia quando o aplicativo não está em execução e o manipulador não está implementado são entregues normalmente — os blocos são atualizados, a notificação do sistema é mostrada e as notificações brutas são enviadas para tarefas em segundo plano (se implementadas).

Para ver as versões em C#, C++ ou Visual Basic dos exemplos de JavaScript apresentados neste Guia rápido, consulte Interceptando notificações por push de aplicativos em execução (C#, C++ ou Visual Basic.

Pré-requisitos

Para compreender este tópico ou para usar o código que ele oferece, você precisará de:

Instruções

1. Opcional: declarar uma variável de namespace

Esta etapa fornece a você um nome abreviado para uso no lugar do nome completo do namespace. Isso equivale à instrução "using" em C# ou à instrução "Imports" no Visual Basic. Permite simplificar seu código.

Observação  O restante do código neste Guia de início rápido presume que essa variável tenha sido declarada.



var pushNotifications = Windows.Networking.PushNotifications;

2. Criar um canal de notificação por push

É necessário que haja um canal de notificação válido para receber notificações por push de um servidor em nuvem. O ouvinte do evento aguardará a chegada da notificação nesse canal. Para saber mais sobre como criar um canal, veja Como solicitar, criar e salvar um canal de notificação.

Se tiver sucesso, este exemplo criará um canal que pode ser acessado por newChannel.uri.



var channel;
var channelOperation = pushNotifications.PushNotificationChannelManager.createPushNotificationChannelForApplicationAsync();

return channelOperation.then(function (newChannel) {
    channel = newChannel;
    },
    function (error) {
        // ...
    }
);

3. Criar uma função para manipular o evento de notificação por push

O exemplo a seguir mostra como manipular todos os tipos de notificação.

A última linha de código deste exemplo define a propriedade Cancel do evento como true. Isso evita que a notificação faça alterações na interface do usuário, como atualizar um bloco/notificação ou exibir uma notificação do sistema. No caso de uma notificação bruta, ela evita que a notificação seja entregue para uma tarefa em segundo plano, caso haja alguma implementada. Desse modo, qualquer resposta à notificação fica a cargo do manipulador.



var content;
function onPushNotification(e) {
    var notificationPayload; 

    switch (e.notificationType) { 
        case pushNotifications.PushNotificationType.toast: 
            notificationPayload = e.toastNotification.content.getXml(); 
            break; 

        case pushNotifications.PushNotificationType.tile: 
            notificationPayload = e.tileNotification.content.getXml(); 
            break; 

        case pushNotifications.PushNotificationType.badge: 
            notificationPayload = e.badgeNotification.content.getXml(); 
            break; 

        case pushNotifications.PushNotificationType.raw: 
            notificationPayload = e.rawNotification.content; 
            break; 
    } 

    e.cancel = true;
}

4. Adicionar um ouvinte de evento para notificações por push recebidas

Use o canal criado na etapa 1 para atribuir o manipulador de eventos criado na etapa 2 a fim de manipular o evento PushNotificationReceived.



channel.addEventListener("pushnotificationreceived", onPushNotification, false);

Resumo

Se o cenário exigir, a interceptação e a manipulação de uma notificação por push enquanto seu aplicativo está em execução pode dar a ele mais controle sobre o efeito dessas notificações. Por exemplo, não convém exibir uma notificação do sistema por cima de um jogo em andamento. Além disso, o manipulador de eventos pode integrar o conteúdo da notificação à interface do usuário do jogo de modo menos invasivo.

Tópicos relacionados

Exemplo de notificações brutas
Envio e exemplo de notificações periódicas
Visão geral de notificação por push
Visão geral de notificações brutas
Diretrizes e lista de verificação de notificações por push
Diretrizes e lista de verificação para notificações brutas
Guia de início rápido: criando e registrando uma tarefa de notificação bruta em segundo plano

 

 

Mostrar:
© 2014 Microsoft. Todos os direitos reservados.