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

Ainda não tem o arquivo? Gere um →

Como funciona

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

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