Como usar a fila de notificações (HTML)

[ Este artigo destina-se aos desenvolvedores do Windows 8.x e do Windows Phone 8.x que escrevem aplicativos do Windows Runtime. Se você estiver desenvolvendo para o Windows 10, consulte documentação mais recente]

Observação  Não está usando JavaScript? Veja Como usar a fila de notificações (XAML).

 

Este tópico mostra como habilitar a fila de notificações no seu bloco, neste caso usando notificações locais. Ele também mostra como marcar sua notificação antes de enviá-la, para evitar conteúdo duplicado ou desatualizado na fila. Com a fila de notificações habilitada, o Windows percorre até cinco notificações.

Para ver as versões em C#, C++ ou Visual Basic dos exemplos de JavaScript apresentados neste Guia rápido, consulte Como usar a fila de notificações (C#, C++ ou Visual Basic).

Observação  Neste Guia de início rápido, você vai manipular o conteúdo de notificações diretamente pelo DOM (Document Object Model) XML. Uma abordagem opcional está disponível por meio da biblioteca NotificationsExtensions, que apresenta o conteúdo XML como propriedades de objetos, incluindo o Intellisense. Para saber mais, veja Guia de início rápido: usando a biblioteca NotificationsExtensions em seu código. Para ver o código expresso com o uso de NotificationsExtensions neste Guia de início rápido, veja a Amostra de blocos e notificações de aplicativo.

 

O que você precisa saber

Tecnologias

  • Windows Runtime

Pré-requisitos

Para entender este tópico, você precisa de:

Instruções

Etapa 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 notifications = Windows.UI.Notifications;

Etapa 2: Definir a opção para habilitar ciclos de notificação

Este código permite a fila de notificações para seu aplicativo. Essa chamada só precisa ser feita uma vez, enquanto o aplicativo está em execução, embora não haja problema em chamá-lo novamente. Recomendamos que você faça essa chamada no código de inicialização de seu aplicativo. Isso garante que a chamada seja feita antes de você atualizar o bloco localmente, solicitar um canal de notificação por push ou iniciar atualizações periódicas para o bloco.


notifications.TileUpdateManager.createTileUpdaterForApplication().enableNotificationQueue(true);

Etapa 3: Criar uma notificação de bloco

Esta é a primeira etapa em todas as notificações de bloco e não é diferente de qualquer outra situação, está incluída apenas como complemento. Para saber mais, veja Guia de início rápido: enviando uma atualização de bloco.

Observação  Quando o getTemplateContent é chamado em um sistema Windows 8, ele retorna uma versão do modelo 1. Quando esse método é chamado em um sistema Windows 8.1, ele retorna uma versão do modelo 2 ou uma versão do modelo 3 no caso de modelos só de telefone. No entanto, se um aplicativo especifica a compatibilidade do Windows 8 em seu manifesto, esse método retorna uma versão do modelo 1 independentemente da versão do Windows. Neste tópico, nós vamos usar a versão do modelo 2.

 


var template = notifications.TileTemplateType.tileWide310x150ImageAndText01;                      
var tileXml = notifications.TileUpdateManager.getTemplateContent(template);

// TO DO: Fill in the template with your tile content. Define a tile and add it to tileXML.

var tileNotification = new notifications.TileNotification(tileXml);

Etapa 4: Opcional: atribuir uma marca à sua notificação

Marca é uma cadeia de no máximo 16 caracteres, além de um caractere nulo de terminação, que identifica exclusivamente a notificação em seu aplicativo.

Quando o enfileiramento estiver habilitado, um máximo de cinco notificações poderão ser alternadas automaticamente no bloco. Por padrão, a política de substituição de notificações na fila primeiro a entrar, primeiro a sair (FIFO); quando a fila estiver cheia e uma nova notificação chegar, a notificação mais antiga será removida. Observe que a ordem de exibição das notificações não segue um padrão linear rígido. Os usuários podem ver as notificações em uma ordem diferente da ordem em que elas chegam.

Para substituir o comportamento de fila FIFO, uma notificação deverá receber uma marca. Se uma nova notificação chegar com a mesma marca de uma notificação existente, a nova notificação substituirá a antiga, independentemente do local da notificação antiga na fila. Por exemplo, se o seu bloco mostrar preços de ação, você vai querer mostrar as informações mais atualizadas. O uso de marcas para substituir notificações na fila é opcional.

Para saber mais sobre como usar marcas com a fila de notificações, consulte Usando a fila de notificações. O exemplo abaixo mostra como definir a marca para notificações locais. Para obter informações sobre a configuração de marcas para atualizações periódicas, consulte Tileupdater.startPeriodicUpdateBatch. Para obter informações sobre a configuração de marcas para notificações por push, consulte Cabeçalhos de solicitação e resposta de serviço de notificação por push.

tileNotification.tag = "stockMSFT";

Etapa 5: Enviar a notificação ao bloco


notifications.TileUpdateManager.createTileUpdaterForApplication().update(tileNotification);

Tópicos relacionados

Quickstart: enviando uma atualização em bloco

Exemplo de blocos de aplicativo e destaques

Tamanhos de imagens de bloco e notificação do sistema

Visão geral de blocos e notificações de bloco

Diretrizes e lista de verificação de blocos