Más del 75% del tiempo los usuarios o consumidores emplean su smartphone y se centran en conversar vía Whatsapp, por ende se entiende que actualmente las aplicaciones tiendan a incluir en su apartado de contacto la opción de interactuar con alguien a través de este medio o mejor aun, incluir un bot dentro de WhatsApp.
Sea cual sea la opción que se desee optar, en este artículo vamos a ver cómo nuestra aplicación desarrollada en Xamarin.Forms puede abrir un chat en WhatsApp para enviar un mensaje a un número específico.
Para este ejemplo vamos a utilizar el plugin Xamarin.Forms.OpenWhatsApp.
Comencemos generando un nuevo proyecto en VS 2019 que sea Forms en blanco:
Le asignamos un nombre como: WAXF
Seleccionamos la ruta donde se generara la solución:
Una vez creado el proyecto deberemos de agregar el NuGet Package, para esto hagamos clic con el botón derecho sobre la solución y seleccionemos Agregar -> Agregar paquetes NuGet…
En la ventana emergente escribamos «Xamarin.Forms.OpenWhatsApp» y seleccionemos el plugin como se muestra en la siguiente imagen:
Hacemos clic en el botón «Install».
XAML
En nuestra UI añadamos un botón con la propiedad Clicked:
<StackLayout>
<Button Text=»Open WhatsApp» Clicked=»OpenWhatsApp»/>
</StackLayout>
C#
Agreguemos el using correspondiente:
using Xamarin.Forms.OpenWhatsApp;
Posteriormente utilizaremos el método de Chat, para esto abriremos el parámetro que pasa como un número de teléfono y un mensaje.
private async void OpenWhatsApp(object sender, EventArgs e) { try { Chat.Open("+5255 XX XX XX XX", "Envia este texto... VGGL"); } catch (Exception ex) { await DisplayAlert("Error", ex.Message, "OK"); } }
IOS
Si queremos que de igual manera funcione en los dispositivos de la marca Apple, deberemos de añadir en el archivo Info.plist los LSApplicationQueriesSchemes clave como se muestra a continuación.
<key>LSApplicationQueriesSchemes</key>
<array>
<string>whatsapp</string>
</array>
Con esto hemos terminado, guardemos, compilemos y probemos.
Resultado
Descarga el código completo desde mi GitHub.
¡Hasta la próxima!