Validador de Universal Links y App Links

Pega tu apple-app-site-association o assetlinks.json y descubre qué falla antes que Apple o Google.

Antes de publicar

¿Aún no tienes el archivo? Genéralo →

Cómo funciona

Por qué los Universal Links abren Safari en lugar de la app

iOS descarga apple-app-site-association a través de la CDN de Apple cuando se instala la app, no cuando se toca un enlace. Si en ese momento el archivo faltaba, redirigía o estaba mal formado, los enlaces se abren en Safari hasta que se reinstala la app o se actualiza la caché.

Las causas habituales: la entrada appIDs usa el bundle ID sin el Team ID de 10 caracteres delante; los paths o components no coinciden con el enlace; el archivo se sirve con una redirección o desde el host equivocado (www frente al dominio sin www); o el entitlement Associated Domains de la app no incluye «applinks:» más el host exacto.

Una más: un enlace tocado en el mismo dominio que la página en la que estás se queda en Safari por diseño. Prueba desde Notas, Mensajes u otra web.

Por qué los Android App Links abren el navegador

Android verifica assetlinks.json para cada host de un intent filter con android:autoVerify="true". Si la verificación falla en cualquiera de ellos, ninguno de los enlaces abre la app automáticamente.

La mayoría de los fallos son de huellas: el archivo indica la clave de depuración o la de subida, mientras que la gente instala la compilación firmada por Google Play App Signing. Copia el SHA-256 de Play Console, en Integridad de la app, e indica todas las claves que firman una compilación que la gente instala.

En Android 12 y posteriores puedes comprobar el estado con adb shell pm get-app-links seguido de tu nombre de paquete, y volver a lanzar la verificación tras corregir el archivo.

Preguntas frecuentes

¿Dónde debe alojarse apple-app-site-association?

En https://your-domain/.well-known/apple-app-site-association, por HTTPS, sin redirección, servido como application/json y sin extensión .json.

¿Dónde debe alojarse assetlinks.json?

En https://your-domain/.well-known/assetlinks.json, por HTTPS, sin redirección, servido como application/json.

¿Por qué no puedo validar por URL?

Los navegadores no dejan que una página lea archivos de otro sitio salvo que ese sitio lo permita, y estos archivos normalmente no lo permiten. Abre la URL, copia el contenido y pégalo aquí.

¿Qué huella SHA-256 necesito?

La del certificado que firma la compilación que la gente instala. Con Google Play App Signing es la clave de firma de la app que muestra Play Console, no tu clave de subida. Añade ambas si también distribuyes compilaciones firmadas con tu propia clave.

He corregido el archivo, pero los enlaces siguen abriendo el navegador. ¿Por qué?

Los dispositivos guardan el resultado en caché. En iOS, reinstala la app; en Android, vuelve a lanzar la verificación o reinstala. Comprueba también que los Associated Domains o los intent filters de la app indican el host exacto.

Más herramientas gratis

Un enlace y un QR para todas las tiendas

SetLinks lleva a cada visitante a su tienda y cuenta cada clic. Empieza gratis.

Crear un enlace inteligente