"Deep link" é o termo geral para qualquer link que abre uma tela específica dentro de um app. Universal Links (iOS) e Android App Links são a forma verificada, com https://, de criar deep links, os esquemas de URL personalizados são a forma mais antiga e não verificada, e os deferred deep links são os que continuam funcionando quando a pessoa precisa instalar o app primeiro. A escolha real é qual mecanismo abre o seu app e se o link precisa sobreviver a uma instalação.
Veja como os quatro se comparam:
| Esquema de URL personalizado | Universal Links | Android App Links | Deferred deep links | |
|---|---|---|---|---|
| Plataforma | iOS e Android | Plataformas da Apple | Android 6 e posteriores | iOS e Android |
| Aparência | myapp://offer/42 | https://example.com/offer/42 | https://example.com/offer/42 | Normalmente um link https:// em um domínio de links |
| Prova de que o link é seu | Nenhuma | Arquivo apple-app-site-association no seu domínio | Arquivo assetlinks.json no seu domínio | Depende do mecanismo que está por baixo |
| App instalado | Abre o app | Abre o app diretamente | Abre o app diretamente, sem seletor | Abre o app |
| App não instalado | Falha, muitas vezes com um erro | Abre a mesma URL no seu site | Abre a mesma URL no seu site | Envia o usuário para a loja e depois entrega o destino na primeira abertura |
| Precisa de servidor | Não | Sim, para hospedar o arquivo | Sim, para hospedar o arquivo | Sim, além de um SDK no app |
| Ideal para | Passagens de app para app e como camada de fallback | Qualquer link que uma pessoa toca no iOS | Qualquer link que uma pessoa toca no Android | Links de indicação, afiliados, anúncios e convites |
Para o básico, veja o nosso guia em linguagem simples sobre o que é deep linking. Este artigo trata das diferenças e de qual escolher.
Qual é a diferença entre universal links e deep links?
Um universal link é um tipo de deep link, então os dois não são alternativas. Todo universal link é um deep link, mas nem todo deep link é um universal link. Quando as pessoas pesquisam "universal links vs deep links", quase sempre querem dizer "Universal Links vs links de esquema de URL personalizado", porque durante anos o esquema personalizado foi o único tipo de deep link que existia.
As diferenças práticas são o endereço (um prefixo que você inventa, como myapp://, contra um endereço web comum em um domínio que é seu), a propriedade (ninguém verifica quem registrou um esquema personalizado, enquanto um universal link é verificado em relação ao seu site) e o que acontece sem o app (um link de esquema personalizado não tem para onde ir, enquanto um universal link continua sendo uma página web que funciona).
A Apple é direta sobre qual prefere. A documentação dela sobre como definir um esquema de URL personalizado diz que, embora os esquemas de URL personalizados sejam "uma forma aceitável de deep linking, os universal links são fortemente recomendados".
O que significa "universal deep linking"?
"Universal deep linking" não é um termo oficial. Ele é usado como um nome informal para os Universal Links da Apple e para um único link que funciona em qualquer lugar (iOS e Android, com o app instalado ou não). O segundo sentido é, na verdade, um deferred deep link construído sobre Universal Links e App Links, tratado mais abaixo.
Esquema de URL personalizado vs Universal Links: o que muda no iOS?
No iOS, passar de um esquema personalizado para Universal Links muda quem pode reivindicar os seus links, o que os usuários veem sem o app e quanto você precisa configurar.
Quem pode reivindicar o link
Com um esquema personalizado, qualquer um pode. A documentação da Apple afirma que usar um identificador no estilo DNS reverso é uma boa prática, mas "não impede que outros apps registrem o mesmo esquema e tratem os links associados", e que, se vários apps registrarem o mesmo esquema, "o app que o sistema escolhe é indefinido".
Com Universal Links, só você pode. Quando alguém instala o seu app, o sistema verifica um arquivo no seu servidor web para confirmar que o seu site permite que o app abra as URLs dele. Como diz o guia da Apple sobre como permitir que apps e sites criem links para o seu conteúdo, só você pode armazenar esse arquivo no seu servidor, o que protege a associação.
O que os usuários veem quando o app não está instalado
Um link de esquema personalizado não é um endereço web, então um celular sem o app não consegue fazer nada com ele. Um universal link é descrito pela Apple como uma URL que "funciona tanto para o seu site quanto para o seu app": se a pessoa não instalou o app, o sistema abre a URL no navegador padrão dela e o seu site cuida do resto.
O que você precisa configurar
Um esquema personalizado são algumas linhas na configuração do seu app e nada mais. Os Universal Links precisam de duas coisas que devem estar de acordo uma com a outra:
- Um arquivo
apple-app-site-association(sem extensão) no diretório.well-knowndo seu site, listando o seu app e os caminhos que ele trata. - A capability Associated Domains no seu app, com uma entrada
applinks:para o domínio.
O guia da Apple sobre suporte a domínios associados acrescenta alguns detalhes que pegam as equipes de surpresa. O arquivo deve ser hospedado em https:// com um certificado válido e sem redirecionamentos. Cada subdomínio precisa da sua própria entrada e deve servir o seu próprio arquivo. E, desde o iOS 14, os dispositivos solicitam o arquivo a uma rede de distribuição de conteúdo gerenciada pela Apple, em vez do seu servidor, que, segundo a Apple, solicita o seu arquivo em até 24 horas, com os dispositivos verificando atualizações cerca de uma vez por semana após a instalação. Portanto, uma alteração no arquivo não é instantânea.
Onde os Universal Links se comportam de forma diferente
Se um usuário está navegando no seu site pelo Safari e toca em um universal link do mesmo domínio, a Apple o mantém no Safari, "respeitando a intenção mais provável do usuário de continuar no navegador". Um link para um domínio diferente abre o app. Os esquemas personalizados não têm essa regra, o que é um dos motivos pelos quais não desapareceram.
App Links vs Universal Links: são a mesma coisa?
Android App Links e Universal Links fazem o mesmo trabalho em sistemas operacionais diferentes. Ambos são links https:// padrão, ambos dependem de um arquivo no seu site para provar a propriedade, e ambos recorrem à página web quando o app não está instalado. A maioria dos apps presentes nas duas lojas configura os dois no mesmo domínio e nos mesmos caminhos, de modo que um único link funciona em qualquer um dos celulares.
As diferenças estão nos detalhes:
| Universal Links | Android App Links | |
|---|---|---|
| Arquivo de verificação | /.well-known/apple-app-site-association | /.well-known/assetlinks.json |
| Identifica o app por | Identificador do app (Team ID mais bundle identifier) | Nome do pacote mais a impressão digital do certificado de assinatura |
| Declarado no app com | Capability Associated Domains | Intent filter com android:autoVerify="true" |
| Versão não verificada | Não há equivalente para links https:// | Deep link simples, que pode exibir um seletor |
| Compatível com | Plataformas da Apple | Android 6 e posteriores, em dispositivos com serviços do Google |
O Android tem um nível intermediário que o iOS não tem
No Android, "deep link" tem um significado específico. A documentação de App Links do Google separa duas coisas:
- Deep links, um recurso padrão da plataforma disponível em todas as versões do Android. Um app pode se registrar para esquemas personalizados ou para domínios web, mas esses links estão "sujeitos à caixa de diálogo de desambiguação do sistema".
- Android App Links, que o Google chama de "um recurso aprimorado de deep linking". Depois de verificados, eles abrem o seu app imediatamente, "sem exigir que o usuário selecione o seu app em uma caixa de diálogo de desambiguação".
Assim, no Android, a pergunta "deep links vs App Links" tem uma resposta literal: um App Link é um deep link para o seu próprio site que passou pela verificação. O guia do Google sobre como criar deep links apresenta a ordem que o Android segue: abrir o app padrão do usuário para o link, ou o único app que consegue tratá-lo, ou, caso contrário, exibir o seletor. A verificação permite pular essa última etapa.
Onde entram os deferred deep links?
Os deferred deep links não são mais um mecanismo que compete com os outros três. São um comportamento adicionado por cima. "Deferred" descreve o que o link consegue fazer (lembrar o destino ao longo de uma instalação), não como ele abre o app.
Universal Links e App Links param no mesmo ponto. Se o app não está instalado, o usuário recebe a sua página web. Se ele então instala o app pela loja e o abre, o app começa na tela inicial, sem saber nada sobre o link que o trouxe. Um deferred deep link fecha essa lacuna: o link vai para um servidor que registra o destino, o usuário é enviado para a loja certa, e um SDK no app pede o destino na primeira inicialização.
No Android, a plataforma ajuda nisso. A Install Referrer API do Google Play permite que um app recupere a URL de referência da sua própria instalação, junto com o momento em que o clique de referência aconteceu e o momento em que a instalação começou. No iOS não existe uma passagem equivalente da loja para o app, então a plataforma de links guarda os detalhes nos seus próprios servidores e os devolve quando a nova instalação faz o primeiro contato.
É por isso que o deferred deep linking quase sempre envolve um serviço e um SDK. O nosso guia sobre deferred deep links e por que eles importam para o marketing de apps percorre toda a mecânica e os casos de uso.
Qual tipo de deep link você deve usar?
Parta de quem vai tocar no link e de se essa pessoa já tem o seu app.
| Situação | Use |
|---|---|
| E-mails, notificações push e mensagens para usuários atuais | Universal Links e App Links |
| Links no seu próprio site que devem abrir o app | Universal Links e App Links (lembre-se da regra do Safari para o mesmo domínio) |
| Um dos seus apps abrindo outro, ou um callback de outro app para o seu | Esquema de URL personalizado, ou Universal Links se você precisar da garantia de propriedade |
| Compartilhamento de conteúdo, quando alguns destinatários não terão o app | Universal Links e App Links no mínimo, deferred se o destino tiver de sobreviver à instalação |
| Links de indicação, convite, criadores, afiliados e anúncios pagos | Deferred deep links |
| QR codes em embalagens ou material impresso | Deferred deep links, já que você não tem como saber quem tem o app |
A versão curta
- Use Universal Links e App Links como base. Eles são o que tanto a Apple quanto o Google recomendam, não podem ser reivindicados por outro app e, na falta do app, viram uma página web que funciona.
- Adicione deferred deep linking quando os links chegarem a pessoas sem o app. Esse é o ponto em que o destino, e muitas vezes a identidade de quem compartilhou o link, precisa atravessar a loja.
- Mantenha um esquema de URL personalizado como camada de apoio. Não coloque um em um e-mail de marketing nem em uma publicação nas redes sociais.
Você ainda precisa de um esquema de URL personalizado?
Muitas vezes, sim, mas não como o link que você entrega às pessoas. Os esquemas personalizados continuam úteis para a comunicação de app para app e como porta de entrada para o app quando um link verificado não está disponível. Como um esquema pode ser registrado por qualquer app, a Apple recomenda validar todos os parâmetros de uma URL recebida e limitar o que esses links têm permissão para fazer.
Você deve criar deferred deep links por conta própria ou usar uma plataforma?
Universal Links e App Links são recursos gratuitos das plataformas que não precisam de nada além de um servidor web. O deferred deep linking é diferente, porque alguém precisa manter o servidor que lembra cada toque e o SDK que o recupera na primeira abertura.
As opções são os Insert Links (os deferred deep links integrados ao Insert Affiliate), plataformas de links de uso geral, como Branch e AppsFlyer, ou uma solução própria. Qual delas faz sentido depende de para que servem os links:
- Se os links existem para atribuir vendas a afiliados, criadores ou usuários que indicam, você precisa que o link e o rastreamento de comissões compartilhem um mesmo identificador. O Insert Affiliate faz isso com os Insert Links. Cada afiliado recebe um link que detecta iOS ou Android e se o app está instalado. Se estiver, o link abre o app e atribui as vendas futuras a esse afiliado. Se não, o usuário vai para a App Store ou o Google Play e, na primeira abertura, o SDK lembra qual afiliado o indicou.
- Se você já usa uma plataforma de links para campanhas, não precisa substituí-la. O Insert Affiliate consegue ler o afiliado a partir de links criados no Branch, no AppsFlyer ou em outra plataforma de deep linking.
- Se você criar por conta própria, reserve orçamento para manter a passagem no momento da instalação funcionando nas duas lojas à medida que os sistemas operacionais mudam.
Os Insert Links também mostram como esses mecanismos se empilham em vez de competir. A configuração mínima é um esquema de URL personalizado. Universal Links e App Links são uma etapa opcional e recomendada por cima: você adiciona o seu Apple Team ID e a impressão digital SHA-256 do certificado do Android no painel e adiciona o domínio de links ao seu app, e os usuários que têm o app instalado passam a ir direto para o app, sem que o navegador carregue antes. O comportamento deferred fica acima dos dois. O guia de configuração dos Insert Links mostra cada camada.
Perguntas frequentes
Universal links e deep links são a mesma coisa?
Não exatamente. Um universal link é um tipo de deep link: o tipo verificado, com https://, da Apple. "Deep link" também abrange links de esquema de URL personalizado, Android App Links e deferred deep links. Quando os dois são contrastados, "deep link" normalmente significa o estilo mais antigo, de esquema personalizado.
Qual é o equivalente dos Universal Links no Android?
Os Android App Links. São links https:// verificados por meio de um arquivo assetlinks.json no seu domínio e, depois de verificados, abrem o seu app sem o seletor "Abrir com". São compatíveis com o Android 6 e posteriores, em dispositivos com serviços do Google.
Os universal links funcionam se o app não estiver instalado?
Funcionam como links web. A mesma URL abre no navegador e o seu site cuida dela, então o usuário não fica diante de um erro. O que eles não fazem é levar o destino através de uma instalação, que é o trabalho de um deferred deep link.
Um link pode ser um universal link e um deferred deep link ao mesmo tempo?
Sim, e os bons normalmente são. O link é uma URL https:// que abre o app diretamente por Universal Links ou App Links quando o app está instalado, e recorre a um redirecionamento para a loja com uma consulta na primeira abertura quando não está. O usuário só vê um link.
Preciso de uma plataforma de deep linking para Universal Links e App Links?
Não. Ambos fazem parte dos sistemas operacionais e só precisam de um arquivo no seu site e de uma configuração no seu app. Um serviço passa a ser útil quando você precisa de deferred deep linking, de um único link que direciona conforme o dispositivo, ou de dados como um código de indicação ou de afiliado transportados ao longo da instalação.
Próximo passo
Compare cada link que o seu app envia hoje com a tabela do início. Qualquer link que uma pessoa toca e que ainda esteja em um esquema personalizado puro deve passar primeiro para Universal Links e App Links. Qualquer link que chegue a pessoas sem o app, especialmente os que decidem quem é pago, precisa ser deferred. Se esses links são para afiliados ou indicações, o Insert Affiliate é gratuito para começar, e o nosso guia sobre como rastrear a receita de afiliados em apps móveis trata do que acontece depois que o link fez o seu trabalho.
