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
- Sirve el archivo por HTTPS en /.well-known/ en cada dominio de los enlaces, sin redirección.
- Envíalo como application/json (apple-app-site-association sin extensión .json).
- Usa el certificado de la compilación que se instala: Google Play App Signing tiene el suyo.
- Tras cambiar el archivo, reinstala la app: los dispositivos lo guardan en caché.
Cómo funciona
- El archivo se revisa en tu navegador: estructura, IDs de app, rutas y huellas de certificado.
- Un navegador no puede descargar archivos de otro sitio, así que pega el contenido y no la URL.
- Un archivo válido es la mitad del trabajo; la lista de abajo cubre la otra mitad.
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
- Generador de QR para App Store y Google Play
- Generador de enlaces a App Store y Google Play
- Prueba de redirección de enlaces inteligentes
- Generador de apple-app-site-association y assetlinks.json
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