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:
- Um conhecimento prático dos termos e conceitos de bloco e notificação. Para saber mais, veja Blocos, selos e notificações.
- Familiaridade com o esquema XML de bloco. Para saber mais, veja Esquema de blocos.
- A capacidade de criar um aplicativo da Windows Store básico com JavaScript usando as APIs do Tempo de Execução do Windows. Para saber mais, veja Criar o seu primeiro aplicativo da Windows Store em JavaScript.
- Um bloco padrão existente para o seu aplicativo, definido no manifesto do aplicativo. Para saber mais, veja Guia de início rápido: criando um bloco padrão usando o Editor de Manifesto do Microsoft Visual Studio.
- Familiaridade com o XML e sua manipulação por meio de APIs DOM (Document Object Model).
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