Idioma: HTML | XAML

Guia de início rápido: enviando notificações para um bloco secundário (XAML)

Applies to Windows and Windows Phone

Este Guia de início rápido mostra como atualizar o bloco secundário de um aplicativo enviando uma notificação local. Você vai ver que enviar uma notificação para um bloco secundário é igual a enviar uma notificação para o bloco principal do aplicativo, com exceção da etapa final. A única diferença entre os dois procedimentos é que, nos blocos secundários, você usa um atualizador de bloco específico a eles (createTileUpdaterForSecondaryTile).

Para ver o código apresentado neste tópico usado em um exemplo completo, consulte o Exemplo de blocos secundários. O exemplo é mostrado nas versões em JavaScript, C#, C++ e Visual Basic.

Quando um aplicativo é iniciado, ele deve sempre enumerar seus blocos secundários, caso haja adições ou exclusões das quais ele não estava sabendo. Quando o usuário exclui um bloco secundário, o Windows simplesmente remove o bloco. O próprio aplicativo é responsável por liberar qualquer recurso que tenha sido usado pelo bloco secundário. Quando o Windows copia blocos secundários pela nuvem, as notificações de bloco ou selo atuais no bloco secundário, as notificações agendadas, os canais de notificação por push e os URIs usados com as notificações periódicas não são copiados com os blocos secundários e devem ser redefinidos.

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 neste Guia de início rápido expresso com o uso de NotificationsExtensions, leia o Exemplo de blocos secundários.

Pré-requisitos

Para compreender 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.
  • Capacidade de criar um aplicativo da Windows Store básico com C#, C++ ou Microsoft Visual Basic usando APIs de Tempo de Execução do Windows. Para saber mais, veja Crie seu primeiro aplicativo da Windows Store em C# ou Visual Basic.
  • Entendendo como criar um code-behind para um aplicativo da Windows Store com XAML (Extensible Markup Language).
  • Familiaridade com o XML e sua manipulação por meio de APIs DOM (Document Object Model).
  • Este tópico considera que você já tenha criado um bloco secundário e o fixado na tela inicial. Para ser orientado nesse procedimento, veja Guia de início rápido: fixando um bloco secundário.

Instruções

1. Adicionar declarações de namespace

Windows.UI.StartScreen inclui as APIs de bloco secundário. Windows.UI.Notifications inclui as APIs de notificação.



using Windows.UI.Notifications;
using Windows.UI.StartScreen;
using Windows.Data.Xml.Dom;

2. Recuperar um modelo de bloco em branco

É possível usar qualquer modelo de bloco em um bloco secundário. Aqui, nós usamos o modelo simples somente texto TileWide310x150Text04.



XmlDocument tileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWide310x150Text04);

3. Atribuir texto à notificação

O modelo TileWide310x150Text04 inclui um único elemento de texto, ao qual nós atribuímos uma cadeia de caracteres.


   
XmlNodeList tileTextAttributes = tileXml.GetElementsByTagName("text");
tileTextAttributes[0].InnerText = "This text was delivered through a notification";

4. Fornecer a versão quadrada da notificação

É uma prática recomendada sempre fornecer um vínculo de cada tamanho de bloco que seu aplicativo permite em qualquer carga de notificação enviada para um bloco. Como parte da operação de fixação, o usuário pode selecionar o tamanho do bloco secundário das opções que você fornecer. Fornecer um vínculo em cada notificação para cada uma das opções de tamanho garante que sua notificação seja exibida, independentemente do tamanho do bloco. Se você também tiver suporte para um bloco secundário grande, repita esta etapa e a seguinte para um dos modelos grandes.

  • Applies to Windows Phone

Todos os blocos, incluindo os blocos secundários, são fixados como blocos médios no Windows Phone 8.1, depois o usuário poderá redimensioná-los.



XmlDocument squareTileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquare150x150Text04);

XmlNodeList squareTileTextAttributes = squareTileXml.GetElementsByTagName("text");
squareTileTextAttributes[0].AppendChild(squareTileXml.CreateTextNode("This text was delivered through a notification"));

5. Acrescentar a notificação quadrada à carga da notificação larga



IXmlNode node = tileXml.ImportNode(squareTileXml.GetElementsByTagName("binding").Item(0), true);
tileXml.GetElementsByTagName("visual").Item(0).AppendChild(node);

6. Empacotar o XML final como uma notificação de bloco



TileNotification tileNotification = new TileNotification(tileXml);

7. Criar um atualizador de bloco secundário

Até esta etapa, o processo é o mesmo da notificação de bloco padrão. Nesta etapa, porém, nós usamos o método CreateTileUpdaterForSecondaryTile, específico dos blocos secundários. Esse método pede a ID exclusiva do bloco secundário de destino. Neste exemplo, nós consideramos que um bloco secundário com uma ID armazenada na variável appbarTileId esteja fixado na tela inicial.



TileUpdater secondaryTileUpdater = TileUpdateManager.CreateTileUpdaterForSecondaryTile(appbarTileId);

8. Enviar a notificação a um bloco secundário



secondaryTileUpdater.Update(tile);

9. Opcional: atualizando o logotipo do bloco secundário

Inclua uma imagem de logotipo ao criar seu bloco secundário. A imagem de logotipo, chamada assim porque ela normalmente exibe o logotipo de um aplicativo, é a imagem do bloco inteiro exibida no bloco antes de receber notificações. O bloco é revertido para a imagem de logotipo quando a notificação é removida ou expira. Em alguns cenários, convém mudar a imagem de logotipo padrão, talvez para indicar uma alteração no conteúdo fixado, quando você não quiser enviar uma atualização completa da notificação. Esta etapa mostra como mudar o logotipo do bloco secundário com uma ID armazenada na variável appbarTileId, usando uma imagem do armazenamento local do aplicativo.



SecondaryTile tileToUpdate = new SecondaryTile(appbarTileId);
tileToUpdate.Logo = new Uri("ms-appx:///Assets/NewSecondaryTileDefaultImage.png");
tileToUpdate.UpdateAsync();

Resumo e próximas etapas

Neste Guia de início rápido, você enviou uma notificação para um bloco secundário associado ao seu aplicativo. Você viu que existe apenas uma pequena diferença entre enviar uma notificação para o bloco principal do aplicativo e enviar uma notificação para um de seus blocos secundários. Você também atualizou a imagem de logotipo padrão de seu bloco secundário.

Este Guia de início rápido enviou a atualização de bloco secundário como uma notificação local. Você também pode explorar os outros métodos de entrega de notificações: agendadas, periódicas e por push. Para saber mais, veja Entregando notificações.

Tópicos relacionados

Guia de início rápido: fixando um bloco secundário
Guia de início rápido: enviando uma atualização de bloco
Exemplo de blocos secundários
Visão geral de blocos secundários
Diretrizes e lista de verificação de blocos secundários
Esquema de bloco

 

 

Mostrar:
© 2015 Microsoft