Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

Revision as of 13:29, 5 August 2013 by lpvalente (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Como executar aplicações usando a API de proximidade

From Wiki
Jump to: navigation, search

Este artigo explica diversas maneiras de como executar aplicações no Windows Phone 8 usando NFC e APIs de proximidade.

WP Metro Icon NFC.png
WP Metro Icon WP8.png
Article Metadata

Compatibilidade
Plataforma(s):
Windows Phone 8

Artigo
Tradução:
Por cronius
Última alteração feita por lpvalente em 05 Aug 2013

Contents

Introdução

Iniciando a sua própria aplicação via NFC é um dos casos de uso mais importantes para os programadores - afinal, você quer que os seus usuários descubram a sua aplicação, tê-lo na tela sempre que poderia ser relevante para o usuário, bem como permitem aos usuários compartilhar facilmente a sua aplicação para outros amigos e / ou deixá-los criar uma experiência multi-usuário continua.

Este artigo dá uma visão geral das possibilidades, bem como trechos de como começar com o desenvolvimento de programas de proximidade. Ele é baseado nos slides do Windows 8 Platform NFC Development lecture, mas acrescenta todas as informações de base necessárias.


Executando aplicações

Essencialmente, você tem quatro principais possibilidades para executar a sua aplicação na plataforma do Windows 8 com NFC: AppLaunchingWikiPT.png

O registo de um tipo de arquivo específico para executar a sua aplicação também é possível com a tecnologia NFC, mas muito provavelmente não tão relevante quanto as outras possibilidades. Afinal, as tags NFC geralmente não têm espaço suficiente gravável para armazenar um ficheiro inteiro - eles geralmente contêm mensagens NDEF muito eficientes e padronizadas (veja o artigo sobre aquisição de conteúdo via NFC). É claro que a seu aplicação pode compartilhar um tipo específico de arquivo com outro usuário via APIs de proximidade, mas na maioria dos casos, você vai usar outros meios se você quiser executar a sua aplicação via NFC.


Protocolo URI Personalizado

O registo de um esquema URI personalizado é um dos métodos mais poderosos para executar a sua aplicação numa ampla variedade de situações.

O que é um esquema URI personalizado? Exemplos comuns são links da web para fazer uma chamada no Skype (skype:mopius?call) ou para desencadear uma pesquisa no Spotify (spotify:search:17th%20boulevard). Veja também este artigo como armazenar as coordenadas geográficas numa tag NFC, que também contém exemplos de como iniciar a aplicação de mapas através de um esquema de URL personalizado.

Essencialmente, um esquema URI personalizado precisa conter o protocolo / nome do esquema, seguido por um carácter de dois pontos (":"). O restante da URI é a parte específica do sistema, cujo formato é maioritariamente dependente da aplicação específica. Veja a Wikipedia para mais detalhes, por exemplo no que diz respeito a restrições, como caracteres reservados.

Um exemplo de um URI personalizado para a sua própria aplicação pode ser nfcinteractor:compose, que iria executar a sua aplicação e poderia, então, passar directamente para a página de composição, ignorando a página inicial padrão. Ao adicionar mais dados para a parte específica do sistema, você também pode preencher com dados predefinidos os formulários na página de composição, por exemplo, para ser específico para o local onde a URL foi encontrado.

CustomUriSchemeWikiPT.png

Isso deixa a pergunta: como pode a sua aplicação ser executada através de um protocolo? Se você registar a sua aplicação, o registo é de todo o sistema. Por isso, é ainda válido para um link na web, descoberto através do browser.

Relevante para NFC: as mensagens URI recebidas de um dispositivo da ligação par-a-par via APIs de proximidade (consulte este artigo para obter detalhes sobre o envio e recebimento de mensagens URI), bem como URIs armazenadas em etiquetas NFC e descoberto pelo toque na tag.

Em todos os cenários, a aplicação vai ser executada assim que o dispositivo se encontra com o URI, ou no caso de a aplicação ainda não for instalada, ele irá pedir ao usuário visitar o mercado para encontrar uma aplicação adequada. No caso de ser um URI personalizado, este deve, na maioria dos casos, ser apenas a sua aplicação (a menos que alguém opta por utilizar o mesmo esquema de URI).

MSDN contém um artigo que explica como registar protocolos URI personalizados na plataforma Windows 8.

LaunchApp Tag

No caso de você não precisar de um protocolo personalizado e só desejar executar a sua aplicação quando o usuário tocar uma tag NFC, há uma maneira mais directa: a criação de uma tag do tipo LaunchApp. Isso também tem a vantagem de que você pode ligar exclusivamente ao seu ID da aplicação, sem o perigo potencial de alguém colocar um aplicação na loja que implementa o mesmo protocolo.

Infelizmente, este caso de uso importante ainda não foi padronizado pelo Fórum NFC. Portanto, a Microsoft definiu o seu próprio formato extensível, que pode executar uma aplicação em qualquer número de plataformas. O formato é muito fácil, como pode ser visto neste diagrama:

LaunchAppTagsWikiPT.png Nota: tab significa tabulação horizontal

Primeiro, você pode especificar os parâmetros de execução - eles são semelhantes para todas as plataformas, e são especificados apenas uma vez (o espaço da tag é muito limitado e, portanto, precioso). Isso pode ser, por exemplo "ver = compor". Depois, você pode especificar um ou mais nomes de plataformas e respectivo ID da sua aplicação na plataforma. As APIs de proximidade esperaram a entrada para ser separada por caracteres de tabulação horizontal. MSDN contém um exemplo de código curto que mostra como escrever um tag LaunchApp para aplicaçãos do Windows 8.

A mensagem resultante que está escrita para o tag é um registo NDEF do tipo absolute-URI (URI absoluto), e o formato do nome do tipo é "windows.com / LaunchApp". As APIs de proximidade irão reformatar automaticamente a string separada pela tabulação horizontal que você passou para eles, por exemplo, acrescentando que o comprimento da string na frente de todos os nomes de plataforma, IDs das aplicações, etc. Você não precisa de se preocupar com esses detalhes, tudo isto acontece em segundo plano.

Par-A-Par

Para cenários par a par, você tem duas opções diferentes para executar a sua aplicação no segundo dispositivo. PeerToPeerWikiPT.png

No caso de você só precisar de uma troca de dados rápida, você normalmente publicaria uma mensagem para o outro telemóvel, que idealmente deve usar um esquema URI personalizado para também executar a sua aplicação, caso ele não está a funcionar ainda. No caso de você saber se o outro dispositivo também tem a sua aplicação em execução, você pode enviar e ouvir praticamente qualquer tipo de mensagem (exceto alguns protocolos reservadas, que podem sempre ser manipulados pelo sistema operacional). Consulte este artigopara obter detalhes sobre como publicar e assinar mensagens entre dois dispositivos com NFC.

O outro cenário é o de estabelecer uma sessão multi-usuário de longo prazo. Neste caso, o NFC só pode ser utilizado para estabelecer um outro canal de comunicação permanente. A própria NFC é uma tecnologia de curto alcance, que funciona (dependendo do tamanho da antena) apenas até 10 cm;, na maioria dos casos de uso da vida real, só até 1 cm, dados tamanhos de antena muito pequenas em dispositivos móveis. Portanto, você realmente teria de tocar os dispositivos para troca de dados. Assim que os utilizadores removem o dispositivo novamente, a ligação NFC será quebrada, e nenhuns dados podem ser transmitidos entre os dispositivos jamais.

A classe PeerFinder pode estabelecer automaticamente a comunicação entre dois dispositivos, a conexão funciona pelo toque (via NFC) ou procurando outras pessoas. No caso de o outro ponto não ter a aplicação aberta / instalada ainda, o sistema irá oferecer automaticamente a possibilidade de a executar ou instalar. Mais detalhes sobre este caso de uso serão publicados em um artigo separado.


Referências

Este artigo baseia-se na apresentação correspondente por Andreas Jakl e fornece explicações de base da tecnologia NFC que você não vai perceber apenas vendo os slides. Os slides podem ser vistos e descarregados aqui: http://slidesha.re/UJAefK

Para saber mais sobre APIs de proximidade, confira a documentação da API.

Para alguns casos, também é útil a especificação do driver de NFC - você não precisa de o conhecer, mas poderia ajudar com algum conhecimento de nível mais baixo, se você quer ir para níveis mais baixos ou precisar detalhes sobre codificações ou limitações.

This page was last modified on 5 August 2013, at 13:29.
233 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×