AndroidAndroid Deep linkingDeep linkingGoogleTécnico

Guia técnico para Deep Linking em Android: Esquemas de URI

By outubro 30, 2017 No Comments

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.

Android devices deep linking

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.