AndroidAndroid Enlazado profundoApp LinksEnlace profundo diferidoEnlazado profundoIndustry InsightsUniversal Links

Enlaces universales, esquemas URI, enlaces en la aplicación y enlaces profundos: ¿Cuál es la diferencia?

By octubre 30, 2017 No Comments

Tanto los enlaces profundos como los enlaces universales, los esquemas URI/URL y los enlaces en la aplicación han cambiado el mundo de los enlaces a contenido en las aplicaciones móviles de forma considerable en los últimos años. Es algo que ha confundido a muchos desarrolladores sobre qué tecnología implantar y cuál sería la mejor práctica de la industria para cada una.

Además, el paisaje del enlazado profundo en móviles aún es un espacio en rápido desarrollo. Lo que funcionaba el año pasado no es necesariamente el mejor enfoque en el presente, en caso de que siquiera esté disponible todavía. Tras años de productos desfasados e información errónea, es hora de aclarar los conceptos y ofrecer un enfoque renovado sobre el mundo del enlazado profundo móvil.

Qué es el enlazado profundo?

Primero, veamos algunos términos básicos: enlazado profundo se trata simplemente de un concepto. Utilizamos enlaces profundos todos los días; de hecho, probablemente ha hecho clic en alguno para acceder a esta publicación de blog. El término se refiere simplemente a cualquier enlace que dirige directamente a una porción de contenido. Cuando hace clic en una URL como http://example.com/mi-página-de-contenido-genial, no espera que se le lleve a http://example.com/ y se vea obligado a navegar por el sitio hasta encontrar mi-página-de-contenido-genial de nuevo. Dicho de otro modo, la mayoría de los enlaces de Internet son, de hecho, enlaces profundos, pero no los llamamos así. Para nosotros, se trata simplemente de enlaces.

El enlazado de aplicaciones móviles es mucho más complicado, más complicado, aunque los enlaces profundos móviles siguen siendo el mejor modo de ofrecer a los usuarios de aplicaciones una experiencia de contenido fluida. Enlaces universales, esquemas URI o enlaces en la aplicación son diferentes estándares tecnológicos que hacen funcionar los enlaces profundos móviles, lo que le permite llevar a los usuarios directamente al contenido dentro de la aplicación. Si quiere compartir una página dentro de una aplicación móvil con un amigo, un enlace profundo lo llevará a la página correcta. Sin un enlace profundo, su amigo tendrá que buscar la página correcta por sí mismo, encontrándose a menudo en la tienda de aplicaciones (incluso si la aplicación está instalada) o en la web móvil.

El proceso de implantación de enlaces profundos ha evolucionado con los años y tanto Android como iOS ofrecen sus propias soluciones. Esto ha dado lugar a confusión en la comunidad de desarrolladores de aplicaciones, forzando incluso a ingenieros experimentados a actualizar sus enlaces de forma improvisada en situaciones de crisis y confundiendo a los nuevos ingenieros sobre la mejor manera de implantar los enlaces profundos en sus aplicaciones.

A continuación tiene un desglose detallado de los diferentes estándares de enlazado profundo móvil en uso en la actualidad:

Mobile Deep Link Standards

Nota: iOS y Android juntos controlan el 99,3% del mercado móvil. Por este motivo, Branch tiene soporte limitado para otras plataformas, que omitiremos aquí para simplificar.

Por supuesto, ninguno de estos estándares es compatible con todas las plataformas o versiones de SO:

OS Version of Deep Linking

Facebook merece un reconocimiento especial por inventar un estándar de enlazado profundo de código abierto, que de hecho parecía tener futuro, y que luego abandonó por completo:

Facebook App Links

Vamos a investigar cada uno de estos estándares con un poco más de detalle.

Qué son los esquemas URI? ¿Son distintos de las URL?

Si quiere comenzar una revolución en una sala llena de ingenieros, comience un debate sobre las pestañas frente a los espacios para la indentación de código. O puede liarse con la diferencia entre URI y URL. Se han escrito ensayos sobre este tema, pero nuestra intención es tan solo recordar que todas las URL también son URI. La parte importante es el principio: el esquema. Ya está familiarizado con los esquemas http:// y https://. Puede que incluso conozca ftp:// o feed://. Todos ellos indican el tipo de contenido que se solicita, y su aplicación móvil puede registrar su propio esquema URI personalizado. Por ejemplo, myapp://.

Si está investigando los enlaces profundos, probablemente ya tenga un conocimiento importante sobre los esquemas URI. A lo largo de gran parte de la historia del desarrollo de aplicaciones, los esquemas URI consistieron en el método principal de enlazado profundo en aplicaciones tanto de iOS como de Android.

Las limitaciones de los esquemas URI

Por desgracia, las limitaciones de los esquemas URI suponen un inconveniente importante en los esquemas URI personalizados, sobre todo en cuanto a la incapacidad de afrontar con facilidad estas dos situaciones:

  1. Cuando la aplicacion no está instalada.
  2. Cuando hay más de una aplicación que trata de solicitar myapp://.

Los esquemas URI no tienen opción de solución alternativa incorporada, lo que quiere decir que un usuario que no tenga la aplicación instalada, cuando haga clic en un enlace que haya compartido un amigo con él, simplemente verá una página de error. Tampoco hay sistema de registro central, lo que se traduce en que pueden tener lugar colisiones URI (la posición oficial de Apple es que, de hecho, no hay proceso). Muchos desarrolladores recurren a soluciones alternativas para el primer problema con el uso de redireccionamientos de JavaScript complicados, pero estos tienden a romperse con cada nuevo lanzamiento de iOS. Probablemente nunca haya una solución para el segundo problema.

Debido a estas limitaciones, tanto iOS como Android han desarrollado una segunda generación de estándares de enlazado profundo, conocidos como enlaces universales y enlaces en la aplicación respectivamente. Desde entonces, Apple ha bloqueado el enfoque de redirección de JavaScript a los esquemas URI, haciendo de los enlaces universales algo esencial para el enlazado profundo en iOS. Los enlaces en la aplicación no se han adoptado con el mismo énfasis.

En qué se diferencian los enlaces universales y los enlaces en la aplicación.

A diferencia de los esquemas URI, que son un tipo de contenido único de su aplicación, los enlaces universales y los enlaces en la aplicación son simples enlaces estándar de web (https://example.com) que apuntan a páginas web y a piezas de contenido dentro de una aplicación. Cuando se abre un enlace universal o enlace en la aplicación, el dispositivo comprueba si hay un dispositivo instalado registrado para ese dominio. De ser así, la aplicación se lanza de inmediato, sin ni siquiera cargar la página web. Si no, la URL de la web (que puede ser un simple redireccionamiento a la aplicación o a Play Store) se carga en el navegador web por defecto.

Si tiene un fuerte interés en mediciones y análisis, podría advertir un problema aquí: que la aplicación se lance de inmediato significa que los métodos de rastreo tradicionales para el marketing tanto por web como por email todos los basados en cadenas de redireccionamiento dejan de funcionar. Puede ser un problema importante, y tanto el estándar de enlaces universales como el de enlaces en la aplicación carecen actualmente de cualquier solución. Su única opción es medir los clics de forma retroactiva, después de que la aplicación se abra.

Los enlaces universales son el estándar de iOS en la actualidad, pero tienen inconvenientes.

Los enlaces universales no son, de hecho, universales. Los enlaces universales no son compatibles con plataformas importantes como Facebook o Twitter, y no hay ninguna pista de que el botón de la esquina superior derecha sea básicamente una opción nuclear. Esto hace muy fácil que un visitante deshabilite los enlaces universales sin darse cuenta. Una vez hecho esto, es muy poco probable que un usuario típico sepa cómo invertir el proceso, lo que le llevará a asumir que la aplicación está rota.

Yelp Screenshot

Por si fuera poco, el despliegue de los enlaces universales estaba muy mal hecho, y probarlos es complicado desde que Apple ni siquiera facilita una herramienta de validación.

Están obsoletos los esquemas URL/URI?

Según Apple, sí. Desde iOS 9.2, oficialmente Apple ya no da soporte a los esquemas URI para el enlazado profundo, por lo que los desarrolladores se han visto obligados a implantar enlaces universales para obtener una funcionalidad equivalente en iOS.

Aunque en realidad, aún no. Los enlaces universales son geniales cuando funcionan, pero aún hay muchos lugares en los que hace falta el soporte de esquemas URI como respaldo, y renuncia a una cantidad considerable de tráfico si se apoya exclusivamente en ellos. El ecosistema Android está demasiado fragmentado para pensar siquiera en abandonar los esquemas URI en un futuro cercano.

Enlaces profundos en diferido

Hay un concepto importante más del que aún no hemos hablado: el enlazado profundo en diferido. Los enlaces profundos estándar, ya se implementen mediante esquemas URI, enlaces universales o enlaces en la aplicación, solo funcionan si la aplicación ya está instalada en el dispositivo. Si no, como mucho enviarán a sus usuarios a la aplicación o a Play Store. Pero ¿y si quiere enviar a los usuarios al lugar correcto en la aplicación, incluso aunque tenga que instalarla primero? Los enlaces profundos en diferido lo permiten, manteniendo el contexto de una parte específica del contenido en el proceso de instalación y llevando al usuario al lugar correcto después de la instalación.

Otros estándares de enlazado profundo

También puede recurrir a otros dos estándares de enlazado profundo menos comunes: Intents de Chrome y los enlaces en la aplicación de Facebook.

Intents de Chrome

El equipo de Chrome ha construido, su propia extensión local para personalizar los esquemas URI, con la intención de conseguir un comportamiento de solución alternativa cuando la aplicación no está instalada. Al tiempo que son una solución elegante al problema de base, los intents de Chrome solo son compatibles con la versión Android del navegador de Chrome y con un puñado de aplicaciones de terceros. Esto supone una complejidad añadida para cada implementación de enlazado profundo, puesto que se pasa a necesitar compatibilidad tanto con las tecnologías estándar como con la alternativa específica de Chrome.

Enlaces en la aplicación de Facebook

Facebook creó los enlaces en la aplicación en 2014 como estándar abierto con el fin de superar las limitaciones de los enlaces profundos de esquema URI. Los enlaces en la aplicación cuentan con dos componentes principales:

  1. Un conjunto de metaetiquetas para añadir al destino de la página web de un enlace http:// estándar. Estas etiquetas especifican la ubicación del esquema URI personalizado del contenido correspondiente en la aplicacion nativa, y el comportamiento que debe tener lugar si la aplicación no está instalada.
  2. Un motor de enrutamiento que da soporte a la apertura de enlaces dentro de las aplicaciones. Este motor comprueba la URL de destino para etiquetas de enlaces en la aplicación antes de abrirla y luego lanza la aplicación correspondiente o ejecuta el comportamiento alternativo especificado.
Facebook App Links

http://applinks.org/documentation/

El estándar de los enlaces en la aplicación tiene una limitación muy importante: es necesario que tanto la aplicacion de origen como la de destino funcionen. Mientras que las megaetiquetas se adoptaron profusamente, las únicas implantaciones importantes del motor de enrutamiento fueron básicamente las aplicaciones de Facebook y Messenger. Facebook ahora prefiere mantener a los usuarios en su plataforma y ha eliminado el motor de enrutamiento de enlaces en la aplicación de todas partes, excepto de la aplicación principal de Android. Dado que Facebook también bloquea los enlaces universales de iOS, no hay una forma fiable de abrir aplicaciones de terceros desde Facebook o Messenger en iOS. Branch ha implantado una solución para poder sortear estas limitaciones.

Los enlaces universales, esquemas URI y enlaces profundos en 2017

El paisaje del enlazado profundo de aplicaciones móviles aún está increíblemente fragmentado. Aún estamos lejos de un estándar generalizado en la industria. Sin embargo, no hay excusa para proporcionar una mala experiencia de usuario a sus clientes.

Major Non-Browser Mobile Channels

Necesita los enlaces profundos y que todos los estándares los acepten. Los enlaces profundos en diferido de Branch están impulsados por esquemas URI, enlaces universales, enlaces en la aplicación, intents de Chrome y enlaces en la aplicación de Facebook. Los hemos incluido todos para que no tenga que hacerlo usted.

Está interesado en implantar enlaces profundos que sean compatibles con todos estos estándares diferentes y proporcionar unos análisis y datos de atribución unificados sin trabajo adicional por su parte? Haga clic en el botón de abajo para empezar.