Diretrizes de proximidade (aplicativos da Windows Store)

Este tópico descreve práticas recomendadas para usar a proximidade de forma a conectar aplicativos e compartilhar conteúdo.

Introdução

A proximidade permite que os usuários conectem dois dispositivos com o gesto humano de um toque ou procurando dispositivos dentro da zona sem fio. Você não precisa estar conectado a uma rede. Você só precisa ligar dois computadores ou estabelecer uma conexão usando Wi-Fi Direct. Você pode usar a proximidade para conectar aplicativos em dois computadores, para uma experiência de jogos com vários jogadores ou para compartilhar conteúdo, como fotos ou links.

Conexões de proximidade

Há diversas formas para se comunicar usando a Proximidade:

TermoDescrição

Sessões fora de banda

Você pode estabelecer uma sessão usando o objeto PeerFinder que conecta dispositivos em um transporte fora de banda (Bluetooth, rede de Infraestrutura ou Wi-Fi Direct). Embora o intervalo para um toque seja limitado a 3 ou 4 centímetros, o intervalo para opções de transporte de fora de banda é muito maior. Você pode não precisar incluir proximidade em seu aplicativo para compartilhar recursos. Se o Windows dar suporte para seu cenário de compartilhamento, habilite o contrato de Compartilhamento e use a funcionalidade interna do Windows para compartilhar recursos usando toque.

Procurar por pares

Você pode estabelecer uma sessão usando o método PeerFinder.FindAllPeersAsync(). Esse método localiza todos os pares remotos que estão executando o mesmo aplicativo, se também já tiverem chamado o método PeerFinder.Start() para anunciar que estão disponíveis para uma sessão de pares. A procura por pares não usa um gesto de tocar, mas usa o Wi-Fi Direct para descobrir o ponto remoto para estabelecer uma conexão.

Publicando e inscrevendo-se em mensagens

Você pode enviar ou receber mensagens durante um gesto de tocar usando o objeto ProximityDevice

 

Se um aplicativo chamar o método ConnectAsync para criar uma conexão com um par, o aplicativo não irá mais anunciar para uma conexão e não será encontrado pelo método FindAllPeersAsync() até que o aplicativo chame o método StreamSocket.Close para encerrar uma conexão de soquete.

Você só vai encontrar pares onde o computador está dentro do alcance sem fio e o aplicativo par está sendo executado em primeiro plano. Se um aplicativo par for executado em tela de fundo, a proximidade não fará anúncios para conexões de pares.

Se você abrir uma conexão de soquete chamando o método ConnectAsync, apenas uma conexão de soquete poderá ser aberta de cada vez para o computador. Se seu aplicativo, ou outro aplicativo chamar o métodoConnectAsync, uma conexão de soquete existente será encerrada.

Cada aplicativo no seu computador pode ter uma conexão aberta com um aplicativo de pares em outro computador se a conexão for estabelecida com um gesto da toque. Você pode abrir conexões de soquete de um aplicativo para um aplicativo par em vários computadores, tocando cada computador. Se você criar uma conexão usando um gesto de tocar, um gesto novo de toque não irá fechar a conexão existente. Você deve chamar o método StreamSocket.Close do objeto de soquete para criar uma nova conexão com o mesmo aplicativo par no mesmo computador par um gesto de tocar.

Práticas recomendadas

O sentimento geral de uma experiência de proximidade deve ser fácil, leve e intuitivo. Os usuários devem executar uma configuração mínima para participar de uma experiência de proximidade. Quando uma experiência de proximidade for concluída, sair da experiência deve ser tão natural quanto entrar nela. A proximidade é destinada a um aplicativo que só deseja uma conexão com outra instância de si mesmo, sem se preocupar com os detalhes dessa conexão. Se um aplicativo tiver atualizações constantes sobre a conexão (por exemplo, uso de largura de banda, velocidade), não use a proximidade.

TermoDescrição

Encontrando pares

Quando seu aplicativo procurar outros pares que estejam executando o mesmo aplicativo, não procure pares continuamente. Em vez disso, forneça uma opção para procurar pares que estejam dentro da zona Wi-Fi.

Pedir o consentimento

Sempre peça o consentimento do usuário para iniciar uma experiência de proximidade conectada, ou seja, para colocar um aplicativo no modo multiusuário. Enquanto os usuários estiverem executando um aplicativo, a solicitação do seu consentimento deve ser antecipada e demissível. Por exemplo, duas pessoas jogando um jogo podem ter a chance de fornecer consentimento antes de decidirem jogar juntas. Em casos onde ocorra um toque quando o aplicativo for iniciado, os usuários devem ter a chance de fornecer consentimento no menu Iniciar ou no lobby do aplicativo.

Mostrar o estado da conexão

Quando um usuário coloca um aplicativo no modo de usuários múltiplos, a interface do usuário deve refletir um dos três estados de conexão:

  • Aguardando um toque
  • Conectando dispositivos (mostrar andamento)
  • Dispositivos conectados agora, ou falha na conexão

Reverter para o modo de usuário único após falha na conexão

Se uma conexão for interrompida ou falhar ao ser estabelecida, você deverá transmitir essa informação aos usuários, colocando o aplicativo de volta no modo de usuário único e exibindo uma mensagem para indicar que a conexão falhou.

Manter o usuário no controle

Certifique-se de que os usuários possam navegar facilmente por uma experiência de proximidade.

A proximidade cria somente objetos StreamSocket para conexões de rede

Se seu aplicativo requer um tipo de objeto de conexão que não seja um objeto StreamSocket, você não poderá usar a Proximidade para conectar.

 

Considerações de segurança

Os artigos a seguir fornecem orientação sobre como gravar código seguro.

Tópicos relacionados

Proximidade e toque
Windows.Networking.Proximity namespace
Exemplos
Exemplo de proximidade

 

 

Mostrar:
© 2014 Microsoft. Todos os direitos reservados.