Esta é parte de um guia técnico em quatro partes para Deep Linking em Android. As seguintes publicações falarão sobre Chrome Intents, Android App Links, and Google Play Referrer.
O Android é, de longe, uma das plataformas mais fragmentadas com as quais os desenvolvedores já tiveram que lidar, pois o Google força os fabricantes de dispositivos a serem responsáveis pela conexão do sistema operacional, pela necessidade de compatibilidade reversa, e pelo suporte a um número de dispositivos compatíveis. Isso geralmente resulta em longas declarações if-else para assegurar que façamos uso do método mais apropriado no contexto correto.
O Deep Linking no Android não é diferente. Ao longo dos anos, vimos uma abundância de requisitos técnicos que devem ser usados dependendo das circunstâncias e contexto do usuário. Por sorte, a Branch conecta todas essas implementações, criando uma plataforma de links que funciona em cada caso extremo. A Branch conecta, junta e padroniza essa complexidade para que você não tenha que se preocupar com ela. Recomendamos altamente o uso de nossas ferramentas em vez de tentar recriá-las do zero, pois elas são gratuitas.
Esta série resumirá todos os mecanismos de deep linking que empregamos e explicará como funcionam e como são implementados.
Você pode começar em start.branch.io ou usar o botão abaixo.
Esquema de URI Android e filtro de intenção
No Android 1.0, o mecanismo de deep linking do esquema de URI foi criado. Ele permite que o desenvolvedor registre seu aplicativo para um URI (uniform resource identifier, identificador de recurso uniforme) no sistema operacional para um dispositivo específico, quando o app for instalado. Um URI pode ser qualquer sequência sem caracteres especiais, como HTTP, pinterest, fb ou myapp. Depois de registrado, se você adicionar :// ao fim (por exemplo, pinterest://) e clicar nesse link, o aplicativo do Pinterest será aberto. Caso o app do Pinterest não esteja instalado, você verá o erro Página não encontrada.
Requisitos para uso dos esquemas de URI para Android
- Registre uma atividade para responder ao URI via filtro de inteção no manifesto.
- O aplicativo deve estar instalado para uso. Caso o aplicativo não esteja instalado, ele exibirá um erro.
Como configurar um esquema de URI para Android
É simples configurar seu aplicativo para um esquema de URI. Para começar, você precisa escolher uma atividade em seu aplicativo que gostaria de abrir quando o esquema de URI for acionado e registrar um filtro de intenção para ele. Adicione o seguinte código dentro da tag <activity /> em seu manifesto que corresponda à atividade que você deseja abrir.
Você pode mudar your_uri_scheme para o esquema de URI que desejar. O ideal é que seja exclusivo. Caso ele se sobreponha ao esquema de URI de outro aplicativo, o usuário verá o seletor Android ao clicar no link. É possível ver isso frequentemente quando se tem vários navegadores instalados, pois todos registram para o URI HTTP.
Como lidar com o deep link no aplicativo Android
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 ver um exemplo abaixo:
Infelizmente, a partir daqui, você vai precisar fazer uma análise da sequência de caracteres para ler os valores adicionados no esquema de URI.
Uso prático de esquemas de URI para Android
O método URI de deep linking é muito restrito e não recomendado sem uma modificação significativa, pois exibirá uma mensagem de erro se o seu aplicativo não estiver instalado. Para utilizar um esquema de URI de maneira eficaz, você precisa criar algumas ferramentas para lidar com casos críticos extremos, como quando o aplicativo não estiver instalado.
Para assegurar que os usuários que clicam ainda tenham uma experiência de alta qualidade caso o aplicativo não esteja instalado, você deve envolver o esquema de URI no Javascript do lado do cliente que possa ser executado no navegador. Você hospedaria esse JS em seu servidor e enviaria o link para os usuários. Você pode ver um exemplo abaixo:
O código tentará abrir o aplicativo configurando uma fonte iFrame no esquema de URI, e então voltará de forma segura à Google Play Store, caso o aplicativo não carregue.
Conclusão
Fique atento às publicações futuras nessa série sobre deep linking para Android.
O Android é incrivelmente complicado e há casos extremos em todos os lugares. Você vai pensar que está tudo indo muito bem, até um usuário reclamar que seus links não estão funcionando no Facebook no Android 4.4.4. É por isso que você deve usar uma ferramenta como a Branch para lhe poupar deste pesadelo e assegurar que seus links funcionem em todos os lugares.