Como fazer uma tag abrir um aplicativo específico?
No Android, um registro de aplicação nomeia o pacote a abrir e oferece instalá-lo se ele faltar. No iOS não existe equivalente, e o caminho é um endereço da web que o aplicativo tenha se registrado para tratar, o que só funciona se ele já estiver instalado.
O caminho do Android
O Android define um registro de aplicação que nomeia um pacote. Tocar numa tag que o carrega abre esse aplicativo, e oferece instalá-lo pela loja quando ele está ausente.
O Android oferece um auxiliar para construir o registro, documentado ao lado dos outros construtores na referência NdefRecord dele. As ferramentas de gravação o expõem como uma opção para informar um nome de pacote.
O pedido de instalação é o que o torna poderoso. Uma tag pode alcançar alguém que nunca instalou o seu aplicativo, o que nenhum outro tipo de registro faz.
O caminho do iOS
Não existe registro equivalente. Nomear um aplicativo e fazer o iOS abri-lo a partir de uma tag não é algo que a plataforma ofereça.
O que funciona no lugar é uma URL que o seu aplicativo tenha se registrado para tratar. Quando o aplicativo está instalado, tocar o abre. Quando não está, o endereço abre no navegador, que é onde você põe uma página convidando a instalar.
Essa reserva é o projeto inteiro. Um link que degrada para uma página web é melhor que um registro que degrada para nada.
Cobrir os dois de uma vez
Grave uma URL como registro principal, com o endereço registrado pelo seu aplicativo nas duas plataformas. Acrescente um registro de aplicação do Android depois dela, se quiser o comportamento do pedido de instalação no Android especificamente. A partir do Android 17, o link só abre o aplicativo depois que o usuário responde a um aviso para abri-lo, como descreve o guia de NFC do Android.
A ordem importa aqui: ponha a URL primeiro, já que é o registro que funciona em todo lugar, e deixe o registro específico do Android vir depois.
Teste os quatro casos em vez de dois: aplicativo instalado e não instalado, em cada plataforma. Os casos sem instalação são os que revelam se a sua página de reserva existe e diz algo útil.
Um banho de realidade
Pedir a alguém que instale um aplicativo porque tocou num adesivo é uma barreira alta. A conversão de um toque em instalação é ruim, e uma instalação que só funciona depois de instalar algo em geral não vai funcionar.
Onde abrir um aplicativo genuinamente cabe é com um público que já o tem: funcionários, associados, clientes existentes. Para o público em geral, uma página web que funciona na hora bate um aplicativo que talvez seja instalado depois.
É a mesma conclusão a que o setor chegou sobre códigos QR que levavam a lojas de aplicativos, e ela vale aqui pelas mesmas razões.
Perguntas frequentes
Uma tag pode instalar um aplicativo sozinha?
Não. Um registro de aplicação do Android pode oferecer abrir a página da loja, e a pessoa escolhe instalar. Nada é instalado apenas por tocar.
Por que meu registro de aplicativo não faz nada no iPhone?
Porque o iOS não tem mecanismo equivalente. Use uma URL que o seu aplicativo tenha se registrado para tratar, que abre o aplicativo quando ele está instalado e uma página web quando não está.
O que acontece se dois aplicativos reivindicarem o mesmo link?
A plataforma decide, em geral perguntando ou preferindo aquele verificado como dono do domínio. A associação de domínio verificada é o jeito confiável de garantir que o seu vença.
Vale a pena acrescentar os dois registros?
Se os pedidos de instalação no Android importam para você, sim, com a URL primeiro. Caso contrário uma URL só é mais simples, funciona nas duas plataformas e é mais fácil de mudar depois.