Appy
← Volver al blog

Guía completa de Universal Links

Todo lo que necesitas saber sobre universal links, deep links y app links para iOS y Android

10 de octubre de 2025•12 min de lectura•Tutorial

Sáltate la configuración: un enlace que abre tu app o la tienda correcta

  • Plan gratis, sin tarjeta
  • Redirección a App Store y Google Play
  • Abre tu app con Pro
Crear mi enlace gratis

Cómo funcionan los Universal Links

El proceso incluye tres componentes clave:

1

Archivo Apple App Site Association (AASA)

Un archivo JSON alojado en tu dominio en /.well-known/apple-app-site-association que indica a iOS qué apps pueden manejar tu dominio.

2

Configuración de la app

Tu app debe configurarse para manejar dominios y patrones de URL específicos en sus entitlements (iOS) o intent filters (Android).

3

Código de manejo de URL

Tu app implementa código para recibir la URL del deep link y navegar a la pantalla o contenido correcto.

01 · Tu dominio

Archivo de asociación

Indica al sistema qué apps pueden manejar el dominio

/.well-known/apple-app-site-association/.well-known/assetlinks.json

Ambas partes deben coincidir

El sistema contrasta el archivo con la app

02 · Tu app

Configuración de la app

Entitlements en iOS, intent filters en Android: los dominios y rutas que maneja

applinks:yourdomain.comandroid:autoVerify="true"

03 · Tu app

Código de manejo de URL

Recibe la URL dentro de la app

La pantalla correcta

Los tres componentes de la lista anterior: el dominio avala la app, la app reclama el dominio y tu código convierte la URL en una pantalla.

Implementación de Universal Links en iOS

Paso 1: Crear el archivo AASA

Crea un archivo llamado apple-app-site-association (sin extensión) con esta estructura: apple-app-site-association

{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "TEAMID.com.yourcompany.yourapp",
        "paths": [
          "/products/*",
          "/articles/*",
          "/user/*"
        ]
      }
    ]
  }
}
⚠️

Importante

El archivo debe servirse por HTTPS con un certificado SSL válido. También debe devolver el header Content-Type: application/json.

Paso 2: Configurar tu app iOS

En Xcode, añade la capability Associated Domains con tu dominio:

applinks:yourdomain.com
applinks:www.yourdomain.com

Paso 3: Manejar la URL en tu app

// AppDelegate.swift
func application(_ application: UIApplication,
                 continue userActivity: NSUserActivity,
                 restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
    
    guard userActivity.activityType == NSUserActivityTypeBrowsingWeb,
          let url = userActivity.webpageURL else {
        return false
    }
    
    // Handle the URL and navigate to appropriate screen
    handleUniversalLink(url)
    return true
}

Implementación de App Links en Android

Paso 1: Crear assetlinks.json

Aloja este archivo en https://yourdomain.com/.well-known/assetlinks.json:

[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.yourcompany.yourapp",
    "sha256_cert_fingerprints": [
      "XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX"
    ]
  }
}]

Paso 2: Actualizar AndroidManifest.xml

<activity android:name=".MainActivity">
    <intent-filter android:autoVerify="true">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="https" />
        <data android:host="yourdomain.com" />
        <data android:pathPrefix="/products" />
    </intent-filter>
</activity>

Paso 3: Manejar el Intent

// MainActivity.kt
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    
    val action = intent.action
    val data = intent.data
    
    if (Intent.ACTION_VIEW == action && data != null) {
        // Handle the deep link
        handleDeepLink(data)
    }
}

Buenas prácticas y errores comunes

Haz esto

  • ✅ Usa siempre HTTPS en tu dominio
  • ✅ Prueba en dispositivos reales, no solo en simuladores
  • ✅ Define la URL de tu sitio web para quien no tiene la app (fallback URL)
  • ✅ Añade seguimiento analítico completo
  • ✅ Maneja los edge cases correctamente
  • ✅ Mantén actualizados tus archivos AASA/assetlinks

❌Evita esto

  • ❌ No uses redirecciones para archivos AASA/assetlinks
  • ❌ No olvides validar la sintaxis JSON
  • ❌ No hardcodees la lógica de navegación de la app
  • ❌ No asumas que la app siempre estará instalada
  • ❌ No omitas pruebas en distintas versiones del SO

Pruebas y depuración

Pruebas en iOS

  • 1. Usa el Validador AASA de Apple
  • 2. Prueba enlaces en Notas, Mensajes o Mail
  • 3. Revisa logs en Xcode Console
  • 4. Verifica la asociación de dominio en Ajustes → Developer

Pruebas en Android

  • 1. Usa adb shell am start -a android.intent.action.VIEW -d "your-url"
  • 2. Prueba en Chrome, Gmail y apps de mensajería
  • 3. Comprueba la verificación con adb shell dumpsys package domain-preferred-apps
  • 4. Monitoriza errores en logcat

Analítica y atribución

Una analítica correcta es clave para entender el rendimiento de tus universal links. Sigue estas métricas:

  • CTR por canal
  • Tasa de apertura de app vs visitas al sitio web
  • Costo de adquisición por canal
  • Tasas de conversión del contenido deep-linked
  • Tiempo hasta la primera acción tras el deep link
  • Rendimiento por plataforma (iOS vs Android)

Consejo pro

Usa una plataforma de smart links como Appy para gestionar universal links automáticamente, medir analítica y llevar a quien no tiene la app a la tienda o a tu sitio web. Ahorras semanas de desarrollo y obtienes infraestructura de nivel enterprise.

Probar Appy gratis

Conclusión

Los universal links son esenciales para apps móviles modernas. Ofrecen mejor experiencia de usuario, mejor atribución y funcionamiento confiable entre plataformas. Aunque la implementación exige atención al detalle, los beneficios lo compensan.

Empieza por lo básico, prueba a fondo y mejora según datos reales. Y si quieres evitar la complejidad, considera usar una plataforma como Appy que lo gestiona automáticamente.

Recursos relacionados de Appy

Explora las herramientas de Appy para universal links, deep links y QR codes para acelerar el crecimiento de apps móviles.

Seguir explorando

Guía
Oct 21, 2026
8 min de lectura

Cómo medir instalaciones de apps sin fingerprinting

Apple no permite el fingerprinting ni siquiera cuando el usuario acepta el rastreo, y los reguladores europeos consideran que el rastreo por IP es un acceso al dispositivo. Aquí tienes lo que sigue midiendo instalaciones con pruebas en iPhone y Android, y un plan de medición que nunca tiene que adivinar.

attribution
fingerprinting
privacy
install attribution
Leer artículo
Guía
Oct 9, 2026
12 min de lectura

Cómo tratan los navegadores in-app los deep links: Instagram, TikTok, Facebook, Gmail, Telegram y más

Por qué tu enlace abre la app desde Safari pero muere dentro de Instagram: el tipo de navegador que usa cada app, las reglas de iOS y Android y lo documentado app por app, de Instagram a Telegram.

in-app browser
universal links
app links
instagram
Leer artículo
Producto
Oct 1, 2026
8 min de lectura

Descubre qué enlace trajo cada instalación: el SDK de Appy para iOS y Android

Appy ahora sigue tus enlaces más allá de la tienda de apps. El nuevo SDK te muestra instalaciones, eventos in-app e ingresos de cada enlace, código QR y campaña, y abre la pantalla correcta a los nuevos usuarios.

install attribution
deferred deep linking
install referrer
mobile attribution
Leer artículo

¿Buscas otra cosa? Explora todos los temas en el blog.

Evita la complejidad. Usa Appy.

Appy gestiona universal links, deep linking, QR codes y analítica automáticamente. Sin código.