Usamos cookies. Tienes opciones. Las cookies nos ayudan a mantener el sitio funcionando sin problemas e informar sobre nuestra publicidad, pero si deseas realizar ajustes, puedes visitar nuestro Aviso de cookies para más información.
Utilizamos cookies propias y de terceros para analizar su actividad en el sitio web con el objetivo de enviarle publicidad personalizada y mejorar el funcionamiento de la web. Puedes aceptar todas las cookies pulsando el botón “ACEPTAR” o seleccionarlas en función de su funcionalidad pulsando el botón “AJUSTES”.
×

Firebase Dynamics Links – Parte I “Deep Link”

Últimamente, esta en boca de todos la herramienta Firebase Analytics por, entre otras cosas, los cambios que propone a nivel de paradigma -basado en eventos, pero no olvidemos que el ecosistema de Firebase ofrece muchas más soluciones que abordan otros problemas además de la analítica en sí y que son comunes en el mundo WEB/APP. Un adelanto de lo que este fabuloso marco de trabajo nos ofrece podéis verlo en este artículo donde trata de darnos la visión global Firebase.

En este primer artículo más introducctorio y teórico hablaremos de un concepto que lleva mucho tiempo entre nosotros, “deep link”, y hablaremos brevemente de Firebase Dynamics Links que consiste en la implementación que Firebase nos da a dicha tecnología.

¿Qué son los deep links?

Los deep links (o enlaces profundos) consisten en hiperenlaces que apuntan a un recurso (página, imagen, etc.) dentro de un sitio web/app que, gracias a la información parametrizada, que llevan consigo, logran acceder a la sección deseada en lugar de llevarnos a la vista/pagina de inicio.

Centrándonos en las aplicaciones móviles podemos realizar la siguiente clasificación:

  • Enlaces tradicionales: denominados también deep links básicos o de legado, consistentes en enrutar con la aplicación URI (similar a un dominio para una web). La principal desventaja es que no funcionan si la app no esta instalada.
  • Deep links diferidos: no requiere que el usuario tenga la aplicación instalada en su dispositivo para poder acceder al recurso específico. Si el usuario tiene la app instalada, estos links enlazan directamente con el contenido, por el contrario, si no está instalada entonces te lleva al appStore correspondiente. Una vez el usuario haya descargado la app, podrá acceder al contenido.
  • Deep links contextuales: incluye funcionalidades de los dos anteriores. Puede funcionar como enlace profundo y, además, mantener información acerca de la navegación del usuario en la app así como donde se hizo click en el enlace, etc. Son enlaces mucho más ricos tanto para los desarrolladores, permitiéndoles crear contenido personalizable, como para los usuarios porque la app ofrece una mejor experiencia y contenido relevante.

¿Cómo crear un Dynamic Link?

Para crear un Dynamic Link existen diversas maneras, utilizando Firebase Console, usando Dynamic Link Builder API en Android o iOS, usando una API REST o bien construyendo la URL manualmente con parámetros de Dynamics Link apuntando a una sección especifica dentro de la app. Estos parámetros indican los vínculos que se desean abrir, además de la plataforma del usuario y si tiene la aplicación instalada.

El comportamiento, por defecto, cuando un usuario intenta abrir un Dynamic Link y no tiene la app instalada, es el de dirigirse a la página que se ha indicado como instaladora (Play Store o App Store) y, una vez abierta, la aplicación recuperará el vínculo que se pasó a la aplicación y procesará el enlace directo según proceda para tu app.

Algunos ejemplos de casos de uso de Dynamic Links son:

  • Conversión de usuario web/escritorio en usuario de la app.
  • Campañas promocionales en medios sociales, correo electrónico y SMS.
  • Permite compartir a los usuarios de la app contenido de forma fácil sin importar qué plataforma usan o si disponen de la app o no.

La tecnología deep link se comenzó a utilizar en el ecosistema de movilidad del mismo modo que en web, con el objetivo de redireccionar usuarios potenciales y existentes a una ubicación específica dentro de una aplicación Android o iOS, desde la web a la que estaban accediendo.

Esto se consigue registrando en nuestra aplicación el esquema de URL que debe reconocer para abrir dicha pantalla. En el ejemplo vamos a configurar la aplicación para abrir la pantalla HelloActivity al reconocer la URL construida de la siguiente forma: “https://www.ejemplo.com/valor1” y “http://www.ejemplo.com/valor2”.

 

Manifest

 

Los parámetros clave de configuración son:

  • <action>: especificamos VIEW como intent action para que el filtro pueda ser localizado por Google Search (en otras palabras, hacerlo visible).
  • <category>: incluimos BROWSABLE y DEFAULT como categorías. La primera para hacer accesible el intent filter desde un navegador web (si no, no redirigiría hasta nuestra app al pulsar el enlace en un navegador) y la segunda para permitir a la app responder intentsimplícitos.
  • <data>: esta es la pieza más importante. Puede haber más de una etiqueta data y representa las URLs que resuelven a nuestra Activity. Como mínimo, han de especificar el atributo scheme, aunque admiten más diferenciaciones como hostpathpathPattern o pathPrefix, en caso de que nuestra app redireccione URLs similares a diferentes secciones.

Una vez configurado en nuestra app lo comentado anteriormente, será capaz de redireccionar a los usuarios que tienen la aplicación HelloWord siempre y cuando accedan a una URL de la forma “https://www.ejemplo.com”.

Los deeplinks tradicionales funcionan pero en ocasiones pueden llegar a cometer fallos (no llegan, redireccionan mal, son diferentes para Android e iOS). Es por ello que Firebase ofrece una versión mejorada con el mismo funcionamiento pero mejorando estos fallos típicos.

Con este artículo lo que pretendo son dejar claras dos cosas. Lo primero es que sirva como primera toma de contacto para aquellos que no han escuchado hablar antes de este concepto y que comprendan algunos de los aspectos básicos que rodean a los deep links para que en un posterior artículo, más práctico, verlo en mayor profundidad. En segundo lugar, abrir el ecosistema de Firebase dando otro claro ejemplo de utilidad de este ecosistema y dejar patente que tiene muchas funcionalidades por ofrecer y explotar.

*Fuente documentación: Firebase documentation

*Fuente de la imagen destacada: Pexels

En nuestra compañía