[#XAMARIN] Primeros pasos con #Estimote Beacons

Hola!

Ahora que ya tengo un par de beacons funcionando, el siguiente paso es crear una app para ver como interactuar con los mismos. Para este ejemplo, crearé una app del tipo Xamarin Forms y haré la prueba compilando la app para Android (mi entorno de build and deploy para iOS lo tiene Luis)

Pues bien, nuestra solución de Xamarin Forms posee varios proyectos, el proyecto comun, y las implementaciones propias para Android, iOS y Windows Phone. En cada uno de los proyectos podremos agregar componentes externos que nos ayudarán a trabajar con los beacons. Una búsqueda rápida nos muestra que tenemos varios paquetes NuGet disponibles para trabajar con Estimote.

Estimote Components

El primer paso será agregar el componente Estimote SDK for Android para el proyecto de Android. Una búsqueda en los componentes nos mostrará este componente.

Clipboard01

La aplicación que haremos será del tipo Forms, con lo que si quieres implementarla en iOS deberás agregar el componente para iOS

Clipboard01

El paquete nuget común que debemos agregar en la app de Forms y en los proyectos de Android e iOS, es ACR Estimote PlugIn for Xamarin

Volviendo al proyecto de Android, en el mismo debemos habilitar permisos para trabajar con BlueTooth

  • BLUETOOTH
  • BLUETOOTH_ADMIN

Clipboard01

Y ahora ya es momento de agregar un par de líneas de código. En la app principal agregaremos un stack con 3 labels

  • private Label _labelTitle;
  • private Label _labelContent;
  • private Label _labelStatus;

En el Start() de la app, inicializaremos la interacción con los Beacons (línea 48). En el caso de que todo funcione correctamente, nos suscribiremos a los eventos Raged y RegionStatusChanged (líneas 59 y 60)

Clipboard03

Cuando la app detecte un beacon, recibiremos un mensaje con la información del mismo. Los beacons trabajan con un concepto que son las regiones (ver enlaces externos), una region puede estar definida con uno o más beacons. La principal forma de identificarlos consiste en 3 opciones

  • With only UUID: it consists of all beacons with a given UUID. For example: a region defined with default Estimote UUID would consist of all Estimote Beacons with unchanged UUID.
  • With UUID and Major: it consists of all beacons using a specific combination of UUID and Major. For example: all Estimote Beacons with default UUID and Major set to 13579.
  • With UUID, Major and Minor: it consists of only a single beacon (Estimote Cloud prevents having two beacons with the same IDs). For example, one with default Estimote UUID, Major set to 13579 and Minor set to 2468.

En el evento RegionStatusChanged() capturaremos el cambio de region. La nueva region nos mostrará información del UUID, Major y Minor.

Clipboard05

Con estas pocas líneas de código ya podemos probar nuestra app. En este momento, podremos desplegar nuestra app en el emulador. Aunque en el mismo veremos que el emulador de Visual Studio 2015 no soporta la emulación de BlueTooth.

Clipboard02

Asi que, en el próximo post mostraré como funciona la app en un device real.

Saludos @ Madrid

-El Bruno

References

Advertisements

2 thoughts on “[#XAMARIN] Primeros pasos con #Estimote Beacons

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s