AndroidAndroid Deep linkingDeep linkingGoogleTécnico

Guia técnico para Deep Linking em Android: App Links

By outubro 30, 2017 No Comments

Esta é a parte três de um guia técnico de quatro partes para deep linking em Android. As últimas publicações falaram sobre esquemas de URIChrome Intents e as próximas vão falar sobre o Google Play Referrer.

Deep Linking com App Links para Android

Com o lançamento recente do Android Marshmallow (6.0), o Android apresentou um novo mecanismo para abrir o aplicativo diretamente, chamado App Links. Este mecanismo deve replicar a funcionalidade dos Links Universais do iOS 9, onde, caso um link HTTP/HTTPS normal seja clicado e o aplicativo correspondente esteja instalado, ele abrirá imediatamente. Aqui está a lógica de redirecionamento do App Link:

  • Abra o aplicativo com intenção, se estiver instalado
  • Use o link web se não estiver instalado

O App Link para Android é simplesmente uma forma de transformar seus links de site existentes também em links de aplicativos. Um exemplo seria: http://imbd.com/title/12345. Se o IMDB configurar o site apropriadamente para links de aplicativo, quando o IMDB for instalado no telefone, ele abrirá imediatamente quando clicarem no link. Caso o aplicativo não esteja instalado, o URL da web será aberto em um navegador.

Android app links deep linking

Em alguns meses, depois que o 6.0 estiver mais prevalente, ele poderá desviar o URI padrão e os mecanismos do Chrome Intent. Nesse meio tempo, você precisará dar suporte a ele, juntamente com todos os outros mecanismos, para se certificar de que está lidando com todos os casos extremos. Repito, o Android é extremamente fragmentado.

Requisitos para App Links para Android

  • Deve existir um site funcional
  • O usuário deve estar no Android 6.0 +

Como configurar App Links para Android

Há duas etapas para configurar seu serviço para usar links de aplicativo:

  1. Configure o manifesto para receber intenções
  2. Registre seu site como App Link

Etapa 1 Adicione os filtros de intenção ao seu manifesto

Isso é bem simples. Você precisa dizer para o Android quais site(s) deve(m) abrir seu aplicativo em vez do site.

Etapa 2 Configure seu site para App Links

Você deve criar um arquivo chamado assetlinks.json no seguinte formato:

Observação: conseguimos fazer o App Links funcionar sem mudar o valor padrão de android_app.

As impressões digitais SHA256 do certificado de assinatura do seu aplicativo. Você precisará usar a ferramenta-chave para gerar as impressões digitais. Na linha de comando, cd no diretório inicial do java e, então, cd na pasta bin. Em seguida, execute o seguinte comando:

$ keytool -list -v -keystore my-release-key.keystore

(Para obter ajuda para localizar a ferramenta-chave, veja esse exemplo no Mac ou Windows.)

Por fim, o arquivo assetlinks.json deve estar hospedado em /.well-known/assetlinks.json. Nós configuramos um para todos os aplicativos integrados da Branch usando os servidores de link Node+Express. Este é o código que usamos:

Como lidar com o Deep Link no aplicativo

Para lidar com o deep link no aplicativo, basta pegar os dados de intenção na atividade que foi aberta por meio do clique. Você pode fazer o seguinte:

Infelizmente, daqui você terá que fazer uma análise da sequência de caracteres para ler a sequência toda do App Link que fez com que o aplicativo abrisse.

Uso prático do Deep Linking

Praticamente falando, seria o mecanismo mais fácil de usar se todos estivessem no 6.0+ e você tivesse um site criado. Como isso não vai acontecer por alguns anos, você precisará lidar com os casos extremos..

Por enquanto, recomendamos habilitar seu site com App Links, mas ainda aproveitar os mecanismos de deep link ao redor do esquema de URI e Chrome intents até que eles sejam mais universais. Por exemplo, se um usuário abrir seu site e tiver o aplicativo instalado, você quer ativar uma intenção do Chrome ou esquema de URI se eles clicarem em um botão em um site móvel para abrir o aplicativo. Parece que os App Links não lidam com esse cenário.

Se você não tem um site, mas quer tirar proveito de App Links, recomendamos incorporar o Branch Deepviews em sua estratégia de produto geral. Elas são prévias de web móvel do conteúdo de seu aplicativo, geradas automaticamente e hospedadas por nós. O Deepviews oferece uma boa alternativa para que os usuários vejam/experimentem o conteúdo quando não tiverem o aplicativo instalado, e é um bom fallback para o Android App Links.

Fique ligado nos próximos episódios do Android deep linking.