Lanzando aplicaciones en Xamarin Forms

Leomaris Reyes
3 min readMar 8, 2020

--

Me imagino que en algún momento de nuestra vida como desarrollad@r nos ha tocado crear una App la cual requiera abrir una aplicación adicional desde la nuestra. Este tipo de requisitos que implican la llamada de aplicaciones de terceros es muy común, por ejemplo cuando el usuario desea establecer algún tipo de conexión con redes sociales o aplicaciones que tienen una comunicación directa con el usuario como Uber, Lyft, entre otras. 🤷‍♀

¡Es por eso que en este artículo aprenderemos cómo lanzar dichas aplicaciones desde Xamarin Forms!

Pero primero ¡Aprendamos algunos conceptos importantes!

✔ ¿Qué es un DeepLinking (Enlace profundo)?

Es un tipo de enlace que envía a los usuarios directamente a una aplicación en lugar de un sitio web o una tienda.

Un ejemplo con el cual podemos aplicar este tipo de acciones es cuando queremos enviar al usuario directamente a una ubicación específica dentro de la aplicación, ahorrándole tiempo para localizar sesiones, esto mejora significativamente la experiencia del usuario. Puedes leer más sobre esto aquí.

✔ ¿Qué es un Launcher (Lanzador)?

Xamarin Essentials nos brinda la clase Launcher la cual permite que una aplicación abra un URI desde el sistema. 💚

⚠ Es importante NO confundir las acciones de Abrir el navegador y Abrir una aplicación, ya que son operaciones diferentes, con el Launcher solo trabajamos con aplicaciones. Pero si deseas saber cómo abrir el Browser puedes leer este artículo.

¡Aprendamos!

La clase Launcher nos brinda algunos métodos asíncronos (Async) importantes que necesitamos aprender:

➖ CanOpenAsync: Nos permite saber si la aplicación se puede abrir desde nuestra aplicación. Devuelve un valor Bool. Recibe un string o Uri como parámetros.

OpenAsync: Es responsable de abrir la aplicación deseada, incluso podemos abrir archivos. Recibe los siguientes parámetros: Uri, string o OpenFileRequest.

TryOpenAsync: Este método nos permite abrir la aplicación deseada y devuelve si fue compatible o no. Recibe un string o Uri como parámetros.

Ahora practiquemos el conocimiento obtenido. ¡A tirar código! 😎

En este ejemplo vamos a abrir la aplicación de Facebook. Es aquí donde entra en juego el Deeplinking, ya que es el dato que necesitamos saber de la aplicación que deseamos abrir.

⚠ Puedes buscar el Deeplinking que necesitas entrando a la página oficial para desarrolladores de la App.

Agreguemos un botón!

Ahora ejecutemos la acción en un evento:

Configuraciones por plataforma

En tu Info.plist agrega LSApplicationQueriesSchemes como un valor “Array” y luego añade el esquema que obtuviste del Deeplinking de la aplicación que deseas abrir.

Por ejemplo: En este caso el esquema de Facebook es “fb”. ( ‘fb “se obtuvo del enlace profundo: fb: //)

Android y UWP no necesitan configuraciones adicionales.

¡Listo! ¡Ya puedes abrir tu aplicación!

--

--

Leomaris Reyes

I'm Leomaris Reyes, Microsoft MVP from the Dominican Republic, with more than 6 years of experience in Software Development. ❤