Los hipervínculos o links nos dirigen a distintos destinos dentro de una página web pero, pueden hacer mucho más enviando información y detalles del contenido que queremos ver. La teoría es que en las aplicaciones móviles funcionará de igual manera pero como dicen por ahí: “Del dicho al hecho hay mucho trecho” y es que los sistemas operativos tienen una parte que ver en el proceso que se resuelve el enlace y abre la aplicación. Es por ello que existen los Dynamic Links de Firebase.

Partes de un link:

  • Protocolo: Es el tipo de comunicación que utilizará el link (http://)
  • Dominio: Es el nombre de sitio o mejor dicho del servidor que visitamos (google.com)
  • Ruta:  Es el sufijo de las los links que indican a qué parte de este dominio accedemos (/home/)
  • Parámetros: Están separados usualmente por un símbolo ? y se muestran con un nombre y un valor (?nombre=valor)

Cómo funciona un link normal:

Los más simples son aquellos que nos llevan a una página en concreto por ejemplo mi sitio web http://fjbatresv.com, de estos los hay muchos y nos permiten ver contenido simple en internet. Después de estos vienen los links que tienen un Path o ruta para llegar a cierto punto algún sitio web por ejemplo http://fjbatresv.com/devfest-san-salvador/ el cual te llevará a un artículo que escribí hace poco. 

Ahora, también existen los links parametrizados o que llevan parámetros. Estos se ven un poco más complejos pero son mucho más potentes. Estos links usualmente los diferenciamos por un símbolo base que podremos ver en todo, el ? mediante el cual los navegadores entienden la diferencia en la ruta o path y separa los parámetros.

Un ejemplo ficticio sería: http://fjbatresv.com/devfest-san-salvador/?comment=”Hola soy un comentario”. En este ejemplo vemos como además de llegar a la ruta deseado estamos enviando un comentario para que se agregue en el sitio web que se abre.

En un Móvil:

En tu teléfono esto puede ser un poco más complicado ya que si queremos hacer que una aplicación se abra, es el Sistema Operativo (Android o iOS) quien debe traducir el link y ejecutarla.

Por ejemplo los links para Android son algo así como PaqueteID://Contenido y parametros y los links para iOS son algo así [ “/wwdc/news/”, “NOT /videos/wwdc/2010/*”, “/videos/wwdc/201?/*”].

Podemos ver la dura diferencia que tienen y el flujo es sumamente complejo como este:

Y… ¿Que son los Dynamic Links?

Si vamos a la documentación oficial de Firebase, lo que leemos es Firebase Dynamic Links te permite implementar vínculos que funcionan exactamente como quieres, en varias plataformas y sin importar que se haya instalado previamente la aplicación.

En efecto, la descripción correcta la podemos reducir a decir que son links que funciona como queremos que lo hagan sin importar el sistema operativo y si tiene o no instalada la aplicación. Un caso típico del uso de estos links es que cuando estamos en una versión de nuestro sitio web y queremos que el usuario lo vea en la app lo invitamos y queremos que siga desde donde empezó. Para eso deben pasara una lista de cosas como la siguiente:

  1. Dar click en el enlace de la web.
  2. Validar el sistema operativo y redirigir con el link correcto
  3. Validar si la app está instalada

      3.1. Ir a la tienda para descargar la aplicación

      3.2. Abrir la aplicación

  1. Mostrar el contenido que veiamos en la web

Lo que vemos en Azul es el proceso del cual se encarga Dynamic Links y nos permite persistir la información incluso cuando el usuario no tenía la aplicación.

Creando un Dynamic Link

Un punto importante de está herramienta es que ha llegado a reemplazar el antes acortador goo.gl y por ello veremos como crear un link desde la consola de administración.

Primero habremos de crear la versión corta de nuestro enlace 

Como paso 2 vamos a configurar el enlace ingresando la URL completa a la queremos hacer referencia y dándole un nombre.

En el paso 3 y cuatro empezaremos a realizar las configuraciones para el comportamiento por sistema operativo. En el caso de iOS lo dejaremos como un link normal de tipo web

Ahora bien en el caso de Android le daremos el comportamiento de que abra la aplicación.

Para eso seleccionaremos la aplicación que abrirá en base al PackageID (debe estar registrado en nuestra consola de Firebase), le decimos que si no esta instalada la aplicación vaya a Google Play y finalmente le pedimos que lo haga también para aquellos que tiene una versión inferior a la 5.

Finalmente haremos las opciones avanzadas (estas son opcionales), mediante las cuales mejoramos el comportamiento en redes sociales y podemos hacer un tracking usando Google Play Analytics:

Por último te invito a que revises la documentación oficial (http://bit.ly/2U3glYr) y empieces a crear tus propios links dinámicos.