O que é deep linking?

John Calistro

Uma explicação simples de deep links e o que é um bom deep link.

Um deep link é um link que te leva a um conteúdo. A maioria dos links na web são deep links.

Este é um deep link. Ele mostra um par de sapatos no Jet.com
Este não é um deep link. Ele mostra somente a homepage, não um item em particular.

Qual o problema com os aplicativos móveis?

Links da web não funcionam com aplicativos móveis nativos. Se você usar seu dispositivo móvel para abrir um link de um par de sapatos no jet.com, você terá como destino o seu navegador web, mesmo se tiver o aplicativo da Jet instalado. Isso é um problema porque o aplicativo da Jet tem uma melhor experiência de uso do que a versão móvel do site jet.com.

Qual é a solução deep link para aplicativos?

Deep links para aplicativos móveis (também conhecidos somente como “deep links”) apontam para o conteúdo dentro do aplicativo. Se você quer compartilhar a página do par de sapatos da Jet com um amigo, você pode enviar um deep link que traz seu amigo diretamente para esse sapato no aplicativo. Sem o deep link, seu amigo teria que encontrar o aplicativo da Jet na App Store ou Play Store, abrir o aplicativo na página inicial, localizar a função de busca, e a partir dai tentar encontrar o mesmo par de sapatos que você encontrou.

Traditional deep links

Deep links tradicionais podem direcionar os usuários para o conteúdo, desde que o aplicativo esteja instalado quando o link é aberto. Isto significa que o deep link não funciona se o usuário não tiver o aplicativo e irá mostrar um erro ou uma página de retorno.

Exemplo 1: Tem o aplicativo instalado
Exemplo 2: Não tem o aplicativo instalado

Deferred deep links

Deferred deep links podem direcionar o usuário para o conteúdo mesmo se o aplicativo não estiver instalado no momento em que o link é aberto. O link primeiramente irá redirecionar para a App Store ou Play Store para fazer o download do aplicativo e depois levará o usuário para o conteúdo que foi especificado imediatamente após a primeira abertura do aplicativo.

Exemplo 1: Tem o aplicativo instalado
Exemplo 2: Não tem o aplicativo instalado

Contextual deep links

Contextual deep links tem todas as funcionalidades do deferred deep links, e muito mais. Contextual deep links guarda informações sobre onde o usuário quer ir, onde o link foi clicado, quem compartilhou originalmente o link e uma quase ilimitada quantidade de dados customizados.

Contextual links adiciona valor tanto para os desenvolvedores de aplicativos quanto para os usuários. Desenvolvedores de aplicativos podem construir funcionalidades poderosas alem do simples link de conteúdo incluindo telas de boas vindas personalizada (onde você verá a recomendação de seu amigo no aplicativo se ele compartilhar um item com você) e programas de indicações. Usuários do aplicativo são beneficiados porque os aplicativos podem fornecer uma melhor experiência e informações mais relevantes.

URI Schemes

URI schemes personalizado era o formato original do deep linking para aplicativos móveis. Eles são como criar uma “internet privativa” para seu aplicativo, com links que são parecidos com myapp://path/to/content. A vantagem do URI schemes personalizado é que eles são fáceis de configurar e a maioria dos aplicativos já tem um. A desvantagem é que o dispositivo do usuário somente sabe sobre sua “internet privada” se o aplicativo correspondente está instalado e não há uma opção de fallback agradável como padrão. A maneira de ajustar isso com o URI schemes deep linking envolve usar um link http:// tradicional para abrir um navegador web. Este link contem um redirecionamento JavaScript para uma URI scheme personalizada que é executada pelo navegar web para abrir o aplicativo. Se a tentativa de redirecionamento falhar porque o aplicativo não está instalado, o JavaScript então levará o usuário para a App Store ou Play Store. Este ainda é a maneira primária para deep linking no Android, mas a Apple começou a bloquear esse modelo no iOS em 2015 com o início do Universal Links.

Apple iOS Universal Links

Apple introduziu o Universal Links no iOS 9 como uma solução para a falta de uma funcionalidade de fallback agradável no deep links URI scheme personalizado. Universal Links são web links padrão (http://mydomain.com) que apontam para uma página web e um pedaço de conteúdo dentro do aplicativo. Quando um Universal Link é aberto, iOS verifica se algum aplicativo instalado no device está registrado para o domínio. Caso positivo, o aplicativo é aberto imediatamente sem sequer carregar a página web. Caso contrário, a web URL (que pode ser um simples redirecionamento para a App Store) é carregada no Safari.

Um estudo de milhares de aplicativos na plataforma da Branch descobriu que Universal Links aumenta a conversão de abertura em 40%.

Exemplo 1: Tem o aplicativo instalado
Exemplo 2: Não tem o aplicativo instalado

Android Links

Google construiu App Links como o equivalente Android para o iOS Universal Links e ele opera de uma forma bem similar: Um web link padrão que aponta para uma página web e um pedaço de conteúdo dentro do aplicativo. Isso resulta em uma experiência de usuário mais fluida, mas já que URI schemes customizados continuam amplamente suportados por todas as versões Android, App Links tem tido uma adoção muito pequena.

Facebook App Links

Facebook criou App Links em 2014 como um padrão aberto para resolver as limitações do URI scheme deep links. App Links tem dois componentes principais:

  1. Um conjunto de meta tags para adicionar na página web de destino do link padrão http://. Estas tags especificam a localização do conteúdo correspondente na URI scheme personalizada dentro do aplicativo nativo e o comportamento que deverá ocorrer caso o aplicativo não estiver instalado.
  2. Um roteamento para ser usado dentro do aplicativo que suporta a abertura dos links. Este roteamento verifica o destino da URL para as tags App Links antes de abri-los e então abre o aplicativo correspondente ou executa o comportamento específico de fallback.

O App Link padrão tem uma falha critica: ele requer um trabalho de ambos os lados, aplicativo de origem e de destino. Enquanto o componente de meta tags teve uma adoção enorme, a única grande implementação do motor de roteamento foi no core do aplicativo do Facebook e do Messenger.

Facebook agora prefere manter os usuários dentro da sua plataforma e tem removido o motor de roteamento de App Links de todos os lugares exceto do aplicativo principal do Android. Já que o Facebook também bloqueia o Universal Links do iOS, isto não deixa nenhum modo confiável de abrir um aplicativo de terceiro diretamente pelo Facebook ou Messenger no iOS. Branch tem implementada uma solução para ajudar a passar por cima dessas limitações.

http://applinks.org/documentation/

A plataforma Branch linking

Branch combina cada padrão deep linking em um único pacote simplificado. Fácil de implementar e sempre atualizado.

Aprenda mais sobre Branch links

John Calistro

Written by

Consultor técnico para startups. Community Manager iMasters / Developer Leader iDEXO. Twitter Meetup, Fintech SP, @AppsterdamBR and @cocoaheadsbr co-organizer.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade