Deep links vs Universal Links vs App Links vs deferred deep links: ¿cuál deberías usar?

Deep Links vs Universal Links vs Deferred Deep Links: What Developers Need to Know

Los Universal Links y los Android App Links son deep links verificados, los esquemas de URL personalizados son el tipo antiguo sin verificar, y los deferred deep links sobreviven a una instalación. Esta comparación muestra en qué se diferencian y cuál usar para cada tarea.

"Deep link" es el término general para cualquier enlace que abre una pantalla específica dentro de una app. Los Universal Links (iOS) y los Android App Links son la forma verificada, con https://, de crear deep links, los esquemas de URL personalizados son la forma antigua y sin verificar, y los deferred deep links son los que siguen funcionando cuando la persona primero tiene que instalar la app. La verdadera decisión es qué mecanismo abre tu app y si el enlace necesita sobrevivir a una instalación.

Así se comparan los cuatro:

Esquema de URL personalizadoUniversal LinksAndroid App LinksDeferred deep links
PlataformaiOS y AndroidPlataformas de AppleAndroid 6 y posterioresiOS y Android
Cómo se vemyapp://offer/42https://example.com/offer/42https://example.com/offer/42Normalmente un enlace https:// en un dominio de enlaces
Prueba de que el enlace es tuyoNingunaArchivo apple-app-site-association en tu dominioArchivo assetlinks.json en tu dominioDepende del mecanismo que haya debajo
App instaladaAbre la appAbre la app directamenteAbre la app directamente, sin selectorAbre la app
App no instaladaFalla, a menudo con un errorAbre la misma URL en tu sitio webAbre la misma URL en tu sitio webEnvía al usuario a la tienda y luego entrega el destino en la primera apertura
Necesita un servidorNoSí, para alojar el archivoSí, para alojar el archivoSí, además de un SDK en la app
Ideal paraTraspasos de una app a otra y como capa de respaldoCualquier enlace que una persona toca en iOSCualquier enlace que una persona toca en AndroidEnlaces de referidos, afiliados, anuncios e invitaciones

Para lo básico, consulta nuestra guía en lenguaje sencillo sobre qué es el deep linking. Esta publicación cubre las diferencias y cuál elegir.

Un Universal Link es un tipo de deep link, así que no son alternativas entre sí. Todo Universal Link es un deep link, pero no todo deep link es un Universal Link. Cuando la gente busca "universal links vs deep links", casi siempre quiere decir "Universal Links vs enlaces con esquema de URL personalizado", porque durante años el esquema personalizado fue el único tipo de deep link que existía.

Las diferencias prácticas son la dirección (un prefijo que inventas, como myapp://, frente a una dirección web común en un dominio que te pertenece), la propiedad (nadie comprueba quién registró un esquema personalizado, mientras que un Universal Link se verifica contra tu sitio web) y lo que pasa sin la app (un enlace con esquema personalizado no tiene adónde ir, mientras que un Universal Link sigue siendo una página web que funciona).

Apple es directa sobre cuál prefiere. Su documentación sobre cómo definir un esquema de URL personalizado dice que, si bien los esquemas de URL personalizados son "una forma aceptable de deep linking, los Universal Links se recomiendan encarecidamente".

¿Qué significa "universal deep linking"?

"Universal deep linking" no es un término oficial. Se usa como un nombre informal para los Universal Links de Apple, y para un único enlace que funciona en todas partes (iOS y Android, con la app instalada o no). El segundo significado es en realidad un deferred deep link construido sobre Universal Links y App Links, que se explica más abajo.

En iOS, pasar de un esquema personalizado a Universal Links cambia quién puede reclamar tus enlaces, qué ven los usuarios sin la app y cuánto tienes que configurar.

Quién puede reclamar el enlace

Con un esquema personalizado, cualquiera puede. La documentación de Apple indica que usar un identificador con estilo de DNS inverso es una buena práctica, pero que "no impide que otras apps registren el mismo esquema y gestionen los enlaces asociados", y que si varias apps registran el mismo esquema, "la app a la que apunta el sistema no está definida".

Con Universal Links, solo tú puedes. Cuando alguien instala tu app, el sistema comprueba un archivo en tu servidor web para confirmar que tu sitio web permite que la app abra sus URL. Como lo expresa la guía de Apple sobre cómo permitir que las apps y los sitios web enlacen a tu contenido, solo tú puedes guardar ese archivo en tu servidor, lo que protege la asociación.

Qué ven los usuarios cuando falta la app

Un enlace con esquema personalizado no es una dirección web, así que un teléfono sin la app no puede hacer nada con él. Apple describe un Universal Link como una sola URL que "funciona tanto para tu sitio web como para tu app": si la persona no ha instalado la app, el sistema abre la URL en su navegador predeterminado y tu sitio web se encarga de ella.

Qué tienes que configurar

Un esquema personalizado son unas pocas líneas en la configuración de tu app y nada más. Los Universal Links necesitan dos cosas que deben coincidir entre sí:

  • Un archivo apple-app-site-association (sin extensión de archivo) en el directorio .well-known de tu sitio web, que enumere tu app y las rutas que gestiona.
  • La capacidad Associated Domains en tu app, con una entrada applinks: para el dominio.

La guía de Apple sobre compatibilidad con dominios asociados agrega algunos detalles que toman por sorpresa a los equipos. El archivo debe alojarse sobre https:// con un certificado válido y sin redirecciones. Cada subdominio necesita su propia entrada y debe servir su propio archivo. Y desde iOS 14, los dispositivos solicitan el archivo a una red de distribución de contenido gestionada por Apple en lugar de a tu servidor; según Apple, esa red solicita tu archivo en un plazo de 24 horas, y los dispositivos buscan actualizaciones aproximadamente una vez por semana después de la instalación. Por lo tanto, un cambio en el archivo no es instantáneo.

Si un usuario navega por tu sitio web en Safari y toca un Universal Link del mismo dominio, Apple lo mantiene en Safari, "respetando la intención más probable del usuario de continuar dentro del navegador". Un enlace a un dominio distinto abre la app. Los esquemas personalizados no tienen esa regla, y esa es una de las razones por las que no han desaparecido.

Los Android App Links y los Universal Links hacen el mismo trabajo en sistemas operativos distintos. Ambos son enlaces https:// estándar, ambos dependen de un archivo en tu sitio web para demostrar la propiedad y ambos recurren a la página web cuando la app no está instalada. La mayoría de las apps que están en ambas tiendas configuran los dos en el mismo dominio y las mismas rutas, de modo que un solo enlace funciona en cualquiera de los dos teléfonos.

Las diferencias están en los detalles:

Universal LinksAndroid App Links
Archivo de verificación/.well-known/apple-app-site-association/.well-known/assetlinks.json
Identifica la app porIdentificador de la app (Team ID más identificador del bundle)Nombre del paquete más huella digital del certificado de firma
Se declara en la app conCapacidad Associated DomainsIntent filter con android:autoVerify="true"
Versión sin verificarNo hay equivalente para enlaces https://Deep link simple, que puede mostrar un selector
Compatible conPlataformas de AppleAndroid 6 y posteriores, en dispositivos con servicios de Google

Android tiene un nivel intermedio que iOS no tiene

En Android, "deep link" tiene un significado específico. La documentación de App Links de Google separa dos cosas:

  • Deep links, una capacidad estándar de la plataforma disponible en todas las versiones de Android. Una app puede registrarse para esquemas personalizados o para dominios web, pero estos enlaces están "sujetos al cuadro de diálogo de desambiguación del sistema".
  • Android App Links, que Google llama "una capacidad mejorada de deep linking". Una vez verificados, abren tu app de inmediato, "sin requerir que el usuario seleccione tu app en un cuadro de diálogo de desambiguación".

Así que en Android, la pregunta "deep links vs App Links" tiene una respuesta literal: un App Link es un deep link a tu propio sitio web que pasó la verificación. La guía de Google sobre cómo crear deep links indica el orden que sigue Android: abrir la app predeterminada del usuario para ese enlace, o la única app que puede gestionarlo, o de lo contrario mostrar el selector. La verificación te permite saltarte ese último paso.

Los deferred deep links no son otro mecanismo que compite con los otros tres. Son un comportamiento que se agrega encima. "Deferred" (diferido) describe lo que el enlace puede hacer (recordar su destino a través de una instalación), no cómo abre la app.

Los Universal Links y los App Links se detienen en el mismo punto. Si falta la app, el usuario recibe tu página web. Si después instala la app desde la tienda y la abre, la app arranca en su pantalla de inicio sin saber nada del enlace que lo trajo. Un deferred deep link cierra esa brecha: el enlace va a un servidor que registra el destino, el usuario es enviado a la tienda correcta y un SDK en la app pide el destino en el primer inicio.

En Android la plataforma ayuda con esto. La Install Referrer API de Google Play permite que una app recupere la URL de referencia de su propia instalación, junto con el momento en que ocurrió el clic de referencia y el momento en que comenzó la instalación. En iOS no existe un traspaso equivalente de la tienda a la app, así que la plataforma de enlaces guarda los detalles en sus propios servidores y los devuelve cuando la nueva instalación se reporta.

Por eso el deferred deep linking casi siempre implica un servicio y un SDK. Nuestra guía sobre los deferred deep links y por qué importan para el marketing de apps repasa en detalle la mecánica y los casos de uso.

Parte de quién va a tocar el enlace y de si ya tiene tu app.

SituaciónUsa
Correos, notificaciones push y mensajes a usuarios actualesUniversal Links y App Links
Enlaces en tu propio sitio web que deben abrir la appUniversal Links y App Links (recuerda la regla de Safari para el mismo dominio)
Una de tus apps que abre otra, o un callback hacia tu app desde otra appEsquema de URL personalizado, o Universal Links si necesitas la garantía de propiedad
Compartir contenido, cuando algunos destinatarios no tendrán la appUniversal Links y App Links como mínimo, deferred si el destino debe sobrevivir a la instalación
Enlaces de referidos, invitaciones, creadores, afiliados y anuncios de pagoDeferred deep links
Códigos QR en empaques o material impresoDeferred deep links, ya que no puedes saber quién tiene la app

La versión corta

  • Usa Universal Links y App Links como base. Son lo que recomiendan tanto Apple como Google, ninguna otra app puede reclamarlos y, si algo falla, quedan como una página web que funciona.
  • Agrega deferred deep linking cuando los enlaces lleguen a personas sin la app. Ese es el punto en el que el destino, y a menudo la identidad de quien compartió el enlace, tiene que pasar por la tienda.
  • Conserva un esquema de URL personalizado como capa de apoyo. No pongas uno en un correo de marketing ni en una publicación en redes sociales.

¿Todavía necesitas un esquema de URL personalizado?

A menudo sí, pero no como el enlace que le entregas a la gente. Los esquemas personalizados siguen siendo útiles para la comunicación entre apps y como vía de entrada a la app cuando no hay un enlace verificado disponible. Como cualquier app puede registrar un esquema, Apple aconseja validar cada parámetro de una URL entrante y limitar lo que esos enlaces tienen permitido hacer.

Los Universal Links y los App Links son funciones gratuitas de la plataforma que no necesitan más que un servidor web. El deferred deep linking es distinto, porque alguien tiene que operar el servidor que recuerda cada toque y el SDK que lo recoge en la primera apertura.

Las opciones son Insert Links (los deferred deep links integrados en Insert Affiliate), plataformas de enlaces de uso general como Branch y AppsFlyer, o un desarrollo propio. Cuál conviene depende de para qué son los enlaces:

  • Si los enlaces existen para atribuir ventas a afiliados, creadores o usuarios que recomiendan, necesitas que el enlace y el seguimiento de comisiones compartan un mismo identificador. Insert Affiliate lo hace con Insert Links. Cada afiliado recibe un enlace que detecta iOS o Android y si la app está instalada. Si lo está, el enlace abre la app y atribuye las ventas futuras a ese afiliado. Si no, el usuario va a App Store o Google Play, y en la primera apertura el SDK recuerda qué afiliado lo refirió.
  • Si ya usas una plataforma de enlaces para tus campañas, no tienes que reemplazarla. Insert Affiliate puede leer el afiliado a partir de enlaces creados en Branch, AppsFlyer u otra plataforma de deep linking.
  • Si lo construyes tú mismo, reserva presupuesto para mantener funcionando el traspaso en el momento de la instalación en ambas tiendas a medida que cambian los sistemas operativos.

Los Insert Links también muestran cómo estos mecanismos se apilan en lugar de competir. La configuración mínima es un esquema de URL personalizado. Los Universal Links y los App Links son un paso opcional y recomendado encima de eso: agregas tu Apple Team ID y la huella digital SHA-256 del certificado de Android en el panel y agregas el dominio de enlaces a tu app, y entonces los usuarios que la tienen instalada entran directo a la app sin que primero cargue el navegador. El comportamiento diferido se ubica por encima de ambos. La guía de configuración de Insert Links muestra cada capa.

Preguntas frecuentes

No exactamente. Un Universal Link es un tipo de deep link: el tipo verificado de Apple, con https://. "Deep link" también abarca los enlaces con esquema de URL personalizado, los Android App Links y los deferred deep links. Cuando se contraponen los dos, "deep link" suele referirse al estilo antiguo de esquema personalizado.

Los Android App Links. Son enlaces https:// verificados mediante un archivo assetlinks.json en tu dominio, y una vez verificados abren tu app sin el selector "Abrir con". Son compatibles con Android 6 y posteriores en dispositivos con servicios de Google.

Funcionan como enlaces web. La misma URL se abre en el navegador y tu sitio web se encarga de ella, así que el usuario no se queda con un error. Lo que no hacen es llevar el destino a través de una instalación, que es el trabajo de un deferred deep link.

Sí, y los buenos normalmente lo son. El enlace es una URL https:// que abre la app directamente mediante Universal Links o App Links cuando la app está instalada, y que recurre a una redirección a la tienda con una consulta en la primera apertura cuando no lo está. El usuario solo ve un enlace.

No. Ambos vienen integrados en los sistemas operativos y solo necesitan un archivo en tu sitio web y un ajuste en tu app. Un servicio se vuelve útil cuando necesitas deferred deep linking, un solo enlace que dirija según el dispositivo, o datos como un código de referido o de afiliado que se conserven durante la instalación.

Siguiente paso

Compara cada enlace que tu app envía hoy con la tabla del inicio. Todo lo que siga en un esquema personalizado simple y que una persona toque debería pasar primero a Universal Links y App Links. Todo lo que llegue a personas sin la app, en especial los enlaces que deciden a quién se le paga, tiene que ser diferido. Si esos enlaces son para afiliados o referidos, puedes empezar gratis con Insert Affiliate, y nuestra guía sobre cómo hacer seguimiento de los ingresos de afiliados en apps móviles cubre lo que pasa después de que el enlace cumplió su función.

Comentarios

¿Listo para hacer crecer tu app con marketing de afiliados?

Únete a cientos de desarrolladores de apps que ya hacen seguimiento de las compras dentro de la app generadas por afiliados y recompensan a sus socios.