Compartilhando com o seu aplicativo de destino

Blog do desenvolvedor de aplicativos do Windows 8

Ideias sobre a criação de aplicativos com o estilo Metro para o Windows 8, da equipe de engenharia do Windows 8

Compartilhando com o seu aplicativo de destino

  • Comments 0

Na postagem Compartilhando de seu aplicativo, apresentamos a ideia de compartilhar conteúdo do aplicativo de exemplo Food with Friends com vários aplicativos de destino que permitem ao usuário executar cenários completos e sofisticados. Os aplicativos no Windows 8 oferecem um conteúdo interessante que os seus clientes desejarão compartilhar com os amigos e outros aplicativos. Com um compartilhamento de destino atraente e bem projetado, o seu aplicativo pode ser o centro de uma experiência conectada e social.

Nesta postagem, veremos como você pode usar o contrato de Compartilhamento de Destino nos seus aplicativos, especialmente aqueles como o Food with Friends. Usando esse contrato, o seu aplicativo pode receber conteúdo de outros aplicativos e usar esse conteúdo para melhorar sua qualidade. Desejamos ajudá-lo a tornar o seu aplicativo o melhor de sua categoria!

O aplicativo de destino é criado usando o contrato de Compartilhamento de Destino e é desenvolvido para proporcionar uma experiência rápida e fácil. Nem todo aplicativo no Windows será um compartilhamento de destino, mas se o seu aplicativo puder publicar, transformar, armazenar ou agregar valor, de alguma forma, ao conteúdo que receber de outro aplicativo, haverá benefícios na criação de um compartilhamento de destino.

  • O seu aplicativo sempre aparecerá na lista de aplicativos de destino. Ele é conectado instantaneamente e relevante a outros aplicativos que podem compartilhar dados desejados por você.
  • O contrato de compartilhamento cria uma ponte entre o seu aplicativo e qualquer aplicativo de origem sem que seja necessário que nenhum dos dois tenha uma integração um-para-um.
  • Como o botão Compartilhar está sempre presente e disponível no sistema operacional, isso proporciona ao aplicativo de destino uma presença no sistema operacional que vai além das fronteiras do seu aplicativo. Isso poderá direcionar mais clientes para o seu aplicativo!

Recebendo conteúdo compartilhado

Vejamos alguns exemplos que mostrarão como você pode oferecer experiências atraentes por meio de um aplicativo de compartilhamento de destino.

Talvez você já esteja familiarizado com os aplicativos Email e Pessoas do Windows 8. O Email cria uma experiência de compartilhamento de destino fácil e pessoal para receber e compartilhar conteúdo com um ou mais amigos. O aplicativo Pessoas permite compartilhar conteúdo com uma audiência maior nas suas redes sociais. Além do compartilhamento em redes sociais, você pode ir além com o compartilhamento entre aplicativos. Aplicativos de produtividade, como o SkyDrive, podem receber arquivos de qualquer lugar do Windows e armazená-los na nuvem; os aplicativos de anotação podem receber texto, links e, possivelmente, dados em uma grande variedade de formatos diferentes e arquivá-los para futura referência. Também há bastante espaço para a criatividade.

Veja como as duas imagens abaixo mostram o fluxo de compartilhamento ao compartilhar uma foto do aplicativo Fotos com o PuzzleTouch, um aplicativo de jogo que transforma uma imagem em um quebra-cabeça visual.

Aplicativo de origem à esquerda, lista de aplicativos de destino filtrados que podem receber fotos no painel Compartilhar à direita.

Figura 1: Aplicativo de origem à esquerda, lista de aplicativos de destino que podem receber fotos no painel Compartilhar à direita.
O PuzzleTouch é um dos compartilhamentos de destino que podem receber uma imagem do aplicativo Fotos.

À direita, a visualização do aplicativo de destino permite ao usuário selecionar o tipo de quebra-cabeça que deseja criar

Figura 2: À direita, a visualização do aplicativo de destino permite ao usuário selecionar o tipo de quebra-cabeça que
deseja criar. O quebra-cabeça fica pronto quando o usuário volta ao aplicativo.

O que é um aplicativo de compartilhamento de destino?

Uma experiência de compartilhamento completa no Windows tem dois componentes. Temos um aplicativo de origem que torna o conteúdo disponível em diferentes formatos para o Windows. Temos também um aplicativo de compartilhamento de destino que se registra para reconhecer determinados formatos e atua como o destino para o conteúdo compartilhado. Usando o contrato de Compartilhamento, o aplicativo de origem e o aplicativo de compartilhamento de destino se comunicam entre si.

Ao pensar sobre a experiência de compartilhamento para o seu aplicativo, considere que o aplicativo de compartilhamento de destino é renderizado na janela Compartilhar hospedada. Projete a experiência para que o seu usuário possa visualizar seu conteúdo rapidamente e confirmar o compartilhamento nessa exibição. Este exemplo mostra a exibição do aplicativo de compartilhamento de destino Email que permite a um usuário compartilhar rapidamente um link do navegador com um de seus contatos do Email.

Imagem do Compartilhamento de Destino

Figura 3: Compartilhando um link do aplicativo Fotos usando o aplicativo de destino Email

Cenários do Food with Friends

Agora, vamos considerar como o Food with Friends cria uma experiência atraente de aplicativo de compartilhamento de destino. Se você estiver familiarizado com o aplicativo, você verá duas ações principais que um usuário pode realizar no Food with Friends – criando um plano e adicionando um restaurante à sua lista de desejos. É claro que há outras ações, como escrever uma opinião, postar um comentário, exibir listas de desejos dos seus amigos etc., mas essas experiências somente fazem sentido dentro do contexto do aplicativo principal. Nos dois cenários básicos que se destacam, vamos fazer uma verificação de integridade rápida para ver se podem ser realizados efetivamente pelo aplicativo de destino Food with Friends.

Criar o plano desta noite

Embora seja o cenário básico do aplicativo principal, ele não é o melhor cenário para uma experiência de compartilhamento de destino. Veja o motivo: A experiência de compartilhamento de destino tem o objetivo de ser rápida e fácil. A criação de um plano é uma tarefa muito mais complexa: o usuário poderia desejar saber quais outros restaurantes seus amigos desejam experimentar, comparar alguns restaurantes da lista de desejos, examinar classificações etc. Como o planejamento envolve o aproveitamento de detalhes cuja apresentação é melhor na exibição do aplicativo principal, condensar essa funcionalidade em um aplicativo de compartilhamento de destino não é atraente.

Adicionar à lista de desejos

Esse cenário funciona realmente bem como uma tarefa curta e direcionada no compartilhamento de destino. Alguns destaques nessa experiência do aplicativo:

  • As pessoas veem restaurantes em outros aplicativos, sejam aplicativos de planejamento de viagens, aplicativos da cidade local com recomendações, blogs sobre comida etc. O Food with Friends é um ótimo destino para agregar restaurantes na seção "My Wishlist" (Minha lista de desejos).
  • A exibição do aplicativo de destino de um aplicativo é criada para que um usuário aja rapidamente no contexto de um aplicativo diferente. Portanto, a adição de um restaurante na lista de desejos é uma excelente opção para emergir no compartilhamento de destino.
  • Embora certamente seja possível ao usuário fazer a alternância entre aplicativos, repetir a pesquisa para localizar o restaurante e adicionar o restaurante à lista de desejos, tocar rapidamente em Compartilhar é muito mais fácil.

A lista de desejos do Food with Friends parece ser uma ótima experiência de aplicativo de compartilhamento de destino que desejamos projetar e compilar. Veja o cenário completo que temos em mente:

Ao navegar em um aplicativo que mostre caminhões de comida local, encontro recomendações desses caminhões que parecem interessantes. Desejo adicionar o caminhão de comida desse aplicativo na minha lista de desejos do Food with Friends para ajudar no planejamento depois.

Navegando em um aplicativo que mostra caminhões de comida local e recomenda lugares de interesseFigura 4: Navegando em um aplicativo que mostra caminhões de comida local e recomenda lugares de interesse

Essa imagem mostra a exibição do aplicativo de compartilhamento de destino que desejamos usar:

Exibição do aplicativo de compartilhamento de destino

Figura 5: Exibição do aplicativo de compartilhamento de destino

Realizando a ação de compartilhamento na exibição do aplicativo de destino, os usuários podem ver os restaurantes do Food with Friends sem alternar o contexto da experiência de imersão do aplicativo atual.

Implementando um compartilhamento de destino

Agora que você viu alguns exemplos de quando implementar um compartilhamento de destino, vejamos como implementar um compartilhamento de destino. Primeiro, decida quais formatos de dados o seu aplicativo poderá receber.

A quais formatos de dados você deve dar suporte?

Com o Compartilhar, você pode dar suporte tanto a formatos de dados padrão, como texto, URI, HTML, bitmaps, arquivos ou formatos de dados personalizados, como os listados em http://schema.org . O Windows filtra aplicativos de destino por formatos de dados a que dão suporte para exibir a lista de aplicativos de destino filtrada no painel Compartilhar. O seu aplicativo deve dar suporte a formatos de dados que são importantes para a experiência do aplicativo. Por exemplo, se o seu aplicativo for voltado para a exibição de fotos, o suporte a formatos de texto pode não ser útil. Se você declarar suporte a vários formatos de dados, decida qual deles ajudará a representar os dados compartilhados melhor para que você possa separar esse formato no pacote de dados primeiro.

Como o Food with Friends está implementando uma experiência de compartilhamento de destino que permite aos usuários compartilhar restaurantes com o aplicativo, vamos usar o formato de dados Restaurant (Restaurante) que aparece em http://schema.org. O Food with Friends pode se registrar com o contrato de Compartilhamento de destino para receber esse formato de dados. Em seguida, usado os dados no pacote recebido, ele pode criar uma experiência atraente na exibição de seu aplicativo de destino que permita ao usuário adicionar o restaurante na sua lista de desejos.

Embora alguns aplicativos de origem possam compartilhar especificamente o formato de dados Restaurant, outros aplicativos de origem podem representar informações semelhantes usando outros formatos de dados, como Place (Local), LocalBusiness e FoodEstablishment relacionados em schema.org. Dessa forma, o Food with Friends pode dar suporte ao recebimento de vários formatos no contrato de compartilhamento para acomodar uma variedade maior de aplicativos de origem.

O Food with Friends dá suporte aos seguintes formatos nas declarações de compartilhamento de destino do manifesto do aplicativo:

Estamos nos concentrando no tipo de dados Restaurant para simplificar, mas os conceitos também se aplicam a outros tipos de dados.

Quais formatos de dados e cenários você deve examinar?

O Food with Friends somente permitirá a adição do restaurante à lista de desejos do usuário se as informações do restaurante recebidas corresponderem às de um restaurante já conhecido pelo aplicativo. Isso é intencional para evitar várias cópias de restaurantes no aplicativo.

Não damos suporte a tipos de dados padrão porque a maioria dos textos, arquivos, fotos, URI ou HTML compartilhados de aplicativos de origem não são mapeados para um restaurante ou empresa local. Por exemplo, se o Food with Friends desse suporte ao recebimento de texto, ele apareceria na lista de aplicativos de destino de um aplicativo de origem de anotação. Nesse caso, o Food With Friends precisaria fornecer uma mensagem de erro informando ao usuário o motivo desse aplicativo não funcionar com seu aplicativo de origem. Resumindo, os formatos de dados são o que conectam um aplicativo de origem que tem algo a oferecer a um aplicativo de destino. Se os formatos de dados não forem os mesmos, não há nada que valha a pena compartilhar.

Considere todos os formatos de dados que ajudam a identificar o que é importante, examine os formatos de dados que diluem a sua experiência de compartilhamento.

Dando suporte ao contrato de Compartilhamento de Destino

Para dar suporte a formatos de dados, declare-os no designer de manifesto do Visual Studio do seu aplicativo. Isto é o que acontece quando um usuário seleciona o seu aplicativo como o destino de uma ação de compartilhamento:

  1. Uma nova instância do aplicativo é iniciada na janela de compartilhamento de destino sobre o aplicativo de origem.
  2. Um evento de ativação de compartilhamento de destino é iniciado e o seu aplicativo recebe um objeto ShareOperation como resultado.
  3. O seu aplicativo pode recuperar os dados que o usuário compartilhou desse objeto.
  4. Você pode usar esses dados para renderizar a exibição do aplicativo de destino e realizar o compartilhamento do usuário.

Para obter mais informações sobre como criar essa experiência, consulte o guia Início rápido: recebendo conteúdo compartilhado.

Além disso, o Visual Studio dá suporte a um modelo para o compartilhamento de destinos. Clique com o botão direito no seu projeto, selecione Adicionar Item, Adicionar Novo Item, clique em contrato de Compartilhamento de Destino na lista. Você terá o código adicionado para dar suporte ao contrato. O Exemplo de código de compartilhamento de destino mostra como receber conteúdo compartilhado.

Projetando uma exibição de aplicativo de destino personalizada

Quando o usuário seleciona um aplicativo de destino na lista de aplicativos do painel Compartilhar, o Windows inicia o aplicativo na exibição de destino de compartilhamento do aplicativo. A exibição do aplicativo de destino é uma exibição especial hospedada no painel Compartilhar e é diferente da exibição principal do aplicativo. Ativando contratos do Windows 8 no seu aplicativo fornece mais informações sobre exibições hospedadas e o gerenciamento da ativação dessas exibições. A exibição do aplicativo de destino foi projetada para concluir a ação de compartilhamento iniciada pelo usuário. Nessa exibição, os usuários podem visualizar seu conteúdo rapidamente, executar ações simples e confirmar sua intenção de compartilhar.

Antes de olharmos para o projeto do aplicativo de destino do Food with Friends, vamos considerar um aplicativo de destino que talvez você já conheça. As imagens abaixo mostram a exibição do aplicativo de destino do aplicativo Email ao lado da exibição completa do aplicativo no Windows 8.

Compartilhando de Fotos para o aplicativo de destino Email à direita

Figura 6: Compartilhando de Fotos para o aplicativo de destino Email à direita

Redigindo um novo email na exibição do aplicativo principal do Email

Figura 7: Redigindo um novo email na exibição do aplicativo principal do Email

Observe que a exibição do aplicativo de compartilhamento de destino do Email é mais simples do que a exibição completa do aplicativo. Ela fornece uma visualização limpa e minimalista do conteúdo que o usuário compartilhará em formato de miniatura com HTML e texto associado. Ela oferece uma linha Para para adicionar destinatários, uma área de entrada para a redação de uma mensagem rápida e uma maneira fácil de confirmar o envio do email com o botão Enviar.

Apesar dessa exibição mais simples, a exibição do aplicativo de destino do aplicativo pode ser identificada de forma nítida como um avatar do aplicativo Email, o que reforça a confiança do usuário quanto ao destino do conteúdo compartilhado.

Food with Friends como um aplicativo de compartilhamento de destino

Agora que você tem uma ideia geral sobre o projeto de exibição do aplicativo de destino, vamos ver como o Food with Friends pode criar um aplicativo de destino que ajuda os usuários a adicionar restaurantes à lista de desejos.

Quando o Food with Friends recebe o pacote de dados contendo um Restaurant do aplicativo de origem, ele pode usar os detalhes no formato de dados Restaurant para identificar qual restaurante de seu banco de dados corresponde ao pacote de dados recebido. O aplicativo poderá então mostrar uma visualização desse restaurante na exibição do aplicativo de destino. Isso reforça a confiança na integridade do conteúdo compartilhado.

Essa imagem mostra a exibição do aplicativo de destino do Food with Friends –

Exibição do aplicativo de destino do Food with FriendsFigura 8: Exibição do aplicativo de destino do Food with Friends

Como você pode ver, essa exibição do Food with Friends é simples e personalizada para um aplicativo de compartilhamento de destino. Ela mostra uma visualização do restaurante que o usuário está prestes a compartilhar e um botão simples que pode ser acionado, Adicionar à Lista de Desejos, que esclarece o destino do conteúdo compartilhado no aplicativo principal. Quando o usuário toca ou clica nesse botão, ele confirma a operação de compartilhamento. Exigindo um toque ou clique aqui, ajudamos a impedir um compartilhamento acidental e a construir confiança na experiência geral de Compartilhamento.

Se o aplicativo localizar vários restaurantes que correspondam às informações do conteúdo do pacote de dados, o Food with Friends usará a exibição do compartilhamento de destino para mostrar as opções e permitir que o usuário separe aqueles a serem compartilhados.

Exibição do aplicativo de destino mostra as opções para que os usuários possam escolher os itens a compartilhar

Figura 9: Exibição do aplicativo de destino mostra as opções para que os usuários possam escolher os itens a compartilhar

 

Caso o aplicativo não possa identificar um restaurante de forma precisa ou um conjunto válido de opções com base no pacote de dados recebido, use a exibição do aplicativo de destino para comunicar essa mensagem.

Criando um QuickLink

O QuickLink é uma provisão da API de compartilhamento que permite aos usuários compartilhar conteúdo para destinos familiares dentro do seu aplicativo de destino rapidamente. Um QuickLink funciona como um link personalizado para a sua exibição de destino, fornecendo ações específicas. Quando o Windows filtra a lista de aplicativos de destino disponíveis para o usuário, a lista do QuickLinks é apresentada na parte superior do painel Compartilhar como a lista de destinos disponíveis. Essas ações do usuário e destinos familiares podem incluir locais ou pessoas com os quais são feitos compartilhamentos com frequência por meio do aplicativo de destino. Por exemplo, o aplicativo Email retorna QuickLinks para contatos a que foram enviados emails anteriormente. Da mesma forma, você pode adicionar QuickLinks a pastas, grupos, blocos de anotações e listas de reprodução que você compartilha com frequência ao seu aplicativo de destino.

Painel Compartilhar mostra um QuickLink fornecido pelo aplicativo de destino Email para contatos

Figura 10: Painel Compartilhar mostra um QuickLink fornecido pelo aplicativo de destino Email para contatos
que receberam emails anteriormente por meio do aplicativo de destino

O aplicativo de destino pode oferecer um QuickLink com o método de objetos ShareOperation reportCompleted . Um QuickLink deve ter um título, um ícone e uma ID. O título (como "Enviar email para mãe") e o ícone aparecem quando o usuário toca no botão Compartilhar. A ID é o que o seu aplicativo usa para acessar quaisquer informações personalizadas, como um endereço de email, o local de uma pasta etc. Consulte Como criar um objeto QuickLink para saber mais sobre essa ferramenta. 

Observação: os QuickLinks são úteis quando o aplicativo dá suporte a várias ações do aplicativo de destino. Como o Food with Friends somente dá suporte a uma única ação no destino de compartilhamento (Adicionar a lista de desejos), i aplicativo não implementa QuickLinks.

Compartilhamento estendido e relatório de erros

Às vezes, os aplicativos de origem compartilham grandes partes de dados, como fotos, vídeos ou arquivos, resultando em transferências de dados mais demoradas. Esses tipos de operações de compartilhamento são conhecidos como compartilhamentos estendidos nos quais o seu aplicativo de destino pode precisar de mais tempo para receber e processar os dados.

Como o compartilhamento deve ser rápido e fluido, e a exibição do aplicativo de destino é leve, hospedada no aplicativo principal, os usuários podem tocar na exibição do aplicativo de destino para retornar ao aplicativo principal. Portanto, os aplicativos de destino não devem depender de uma interação do usuário (ou esperá-la) com a exibição de aplicativo de destino após o início do compartilhamento. Os aplicativos de destino podem depender do uso do objeto ShareOperation e seu método para informar ao Windows que o aplicativo está processando dados.

  • reportStarted – use esse método para informar ao Windows que o seu aplicativo começou a recuperar os dados do objeto DataPackage do aplicativo de origem.
  • reportDataRetrieved – use esse método para informar ao Windows que o seu aplicativo concluiu a recuperação dos dados do pacote.
  • reportCompleteduse esse método para informar ao Windows que o seu aplicativo concluiu a operação de compartilhamento.

Quando o seu aplicativo estiver processando os dados para um compartilhamento estendido, forneça ao usuário uma interface do usuário de andamento na exibição do aplicativo de destino. Isso informa o usuário de que a solicitação dele está em andamento e reforça a confiança quando ele retornar ao seu aplicativo e verificar o progresso da operação de compartilhamento. Consulte Quickstart: adding progress controls (Quickstart: adicionando controles de progresso) para saber mais sobre os controles de progresso no Windows 8.

barra de progresso

Figura 11: A exibição do aplicativo de destino do Email mostra um anel de progresso ao concluir um compartilhamento estendido, como o envio de anexos grandes

Se algo der errado durante a transferência de dados e o seu aplicativo de destino tiver de concluir a operação de compartilhamento, você pode usar o reportError para enviar uma mensagem de erro para o Windows. O usuário verá a mensagem quando conferir o status do compartilhamento no painel Compartilhar. Depois que você reportar o erro, o seu aplicativo será fechado e o compartilhamento, concluído. O usuário precisará iniciar novamente para compartilhar o conteúdo com o seu aplicativo.

No exemplo do compartilhamento de destino do Food with Friends, se o aplicativo não puder identificar um restaurante em seu banco de dados que corresponda ao restaurante que foi compartilhado a partir do aplicativo de origem pelo formato de dados Restaurant, ele deverá reportar um erro.

Vamos recapitular!

O compartilhamento entre aplicativos fornece uma ótima oportunidade de compartilhar aplicativos de destino. Habilitando o seu aplicativo para receber conteúdo compartilhado, os seus usuários aproveitarão o seu aplicativo mesmo quando estiverem envolvidos em outra atividade. Esperamos que agora você compreenda melhor os princípios de design, os tipos de dados, as classes e propriedades que você pode usar para criar um ótimo destino de compartilhamento. Estamos ansiosos para saber como os seus aplicativos transformarão o conteúdo compartilhado e criarão experiências mais amplas e sofisticadas para o usuário final.

Se desejar saber mais sobre o compartilhamento, leia Copiando e trocando dados e Share content target app sample (Exemplo de aplicativo de destino de compartilhamento de conteúdo) para começar!

Ishita Kapur

Gerente de programas

Experiência do usuário do Windows

  • Loading...
Leave a Comment
  • Please add 1 and 7 and type the answer here:
  • Post