Validador de Universal Links e App Links
Cole seu apple-app-site-association ou assetlinks.json e veja o que está errado antes da Apple ou do Google.
Antes de publicar
- Sirva o arquivo por HTTPS em /.well-known/ em cada domínio dos links, sem redirecionamento.
- Envie como application/json (o apple-app-site-association sem extensão .json).
- Use o certificado da build que as pessoas instalam: o Google Play App Signing tem o dele.
- Depois de mudar o arquivo, reinstale o app — os dispositivos guardam o arquivo em cache.
Como funciona
- O arquivo é verificado no seu navegador: estrutura, IDs de app, caminhos e impressões digitais de certificado.
- O navegador não consegue baixar arquivos de outro site, então cole o conteúdo em vez da URL.
- Um arquivo válido é metade do trabalho; a lista abaixo cobre a outra metade.
Por que os Universal Links abrem o Safari em vez do app
O iOS baixa o apple-app-site-association pela CDN da Apple quando o app é instalado, não quando um link é tocado. Se o arquivo estava ausente, redirecionado ou malformado nesse momento, os links abrem no Safari até o app ser reinstalado ou o cache ser atualizado.
As causas mais comuns: a entrada appIDs usa o bundle ID sem o Team ID de 10 caracteres na frente; os paths ou components não correspondem ao link; o arquivo é servido com redirecionamento ou no host errado (www versus o domínio sem www); ou o entitlement Associated Domains do app não tem “applinks:” mais o host exato.
Mais uma: um link tocado no mesmo domínio da página em que você está fica no Safari de propósito. Teste a partir do Notas, do Mensagens ou de outro site.
Por que os App Links do Android abrem o navegador
O Android verifica o assetlinks.json de cada host de um intent filter com android:autoVerify="true". Se a verificação falhar para qualquer um deles, nenhum dos links abre o app automaticamente.
A maioria das falhas está nas impressões digitais: o arquivo lista a chave de debug ou de upload, enquanto as pessoas instalam a build assinada pelo Google Play App Signing. Copie o SHA-256 do Play Console, em Integridade do app, e liste todas as chaves que assinam uma build que as pessoas instalam.
No Android 12 ou mais recente, você pode conferir o estado com adb shell pm get-app-links seguido do nome do pacote, e rodar a verificação de novo depois de corrigir o arquivo.
Perguntas frequentes
Onde o apple-app-site-association precisa ficar hospedado?
Em https://seu-dominio/.well-known/apple-app-site-association, por HTTPS, sem redirecionamento, servido como application/json e sem extensão .json.
Onde o assetlinks.json precisa ficar hospedado?
Em https://seu-dominio/.well-known/assetlinks.json, por HTTPS, sem redirecionamento, servido como application/json.
Por que não dá para validar pela URL?
Os navegadores não deixam uma página ler arquivos de outro site, a menos que esse site permita, e esses arquivos em geral não permitem. Abra a URL, copie o conteúdo e cole aqui.
De qual impressão digital SHA-256 eu preciso?
A do certificado que assina a build que as pessoas instalam. Com o Google Play App Signing, é a chave de assinatura do app mostrada no Play Console, não a sua chave de upload. Adicione as duas se você também distribui builds assinadas com a sua própria chave.
Corrigi o arquivo, mas os links ainda abrem o navegador. Por quê?
Os aparelhos guardam o resultado em cache. No iOS, reinstale o app; no Android, rode a verificação de novo ou reinstale. Confira também se os Associated Domains ou os intent filters do app citam o host exato.
Mais ferramentas grátis
- Gerador de QR code para App Store e Google Play
- Gerador de links para App Store e Google Play
- Teste de redirecionamento de link inteligente
- Gerador de apple-app-site-association e assetlinks.json
Um link e um QR code para todas as lojas
O SetLinks leva cada visitante à loja dele e conta cada clique. Comece grátis.
Criar um link inteligente