Hola!
En el post anterior mostré como configurar una solución de Xamarin Forms para que detecte un beacon Estimote. En la siguiente imagen, utilizo la app de Estimote para emular un beacon (izq), y en la app de Xamarin en Android muestro la información del beacon detectado (derecha)
Ahora bien, para entender como funciona la app es necesario remarcar un par de cosas
Beacons Search
Un beacon se identifica en 3 partes:
- UUID (16 bytes)
- major number (2 bytes)
- minor number (2 bytes)
Importante: Estimote tiene un link recomendable para leer sobre el tema, aquí (link).
Todos los beacons Estimote utlizan el mismo UUID: B9407F30-F5F8-466E-AFF9-25556B57FE6D
En la app de ejemplo, el UUID que utilizamos para la búsqueda es diferente: 8492E75F-4FD6-469D-B132-043FE94921D8
Esto es porque no estoy utilizando beacons reales para las pruebas, sino el emulador de beacons que está disponible en la app de Estimote para iOS. En el caso de un virtual beacon:
- UUID siempre es to 8492E75F-4FD6-469D-B132-043FE94921D8
- Los valores de Major y Minor values se generan al azar al activar el virtual beacon y se mantienen fijos con el mismo
En la sección de referencias hay un link sobre como utilizar esta feature.
Con esta información ya podemos inicializar nuestra app para que detecte beacons (lineas 61 y 62)
Beacons Detected
Si utilizamos la app de Estimote para detectar beacons, veremos que la misma nos muestra in virtual beacon detectado. Ahora ya podemos probar el código de nuestra app para ver que información nos retorna por cada beacon detectado.
Cuando la app detecta uno o más beacons, el evento Ranged() retorna una colección de los mismos. Como comentaba en el punto anterior, los valores de UUID, Major y Minor se incluyen para cada beacon, además de una propiedad para definir la cercania del beacon.
En próximos posts mostraré como trabajar con el concepto de proximidad del beacon, por ahora la propiedad Proximity nos indica la distancia al beacon con:
El código fuente de la app se puede descargar desde GitHub https://github.com/elbruno/Blog/tree/master/Xamarin%20Estimote%20Beacons
Saludos @ Madrid
-El Bruno
References
- El Bruno Estimote and Star Wars
- El Bruno Primeros pasos con #Estimote Beacons
- NuGet Estimote SDK for Xamarin Android
- NuGet Estimote SDK for Xamarin.iOS
- NuGet ACR Estimote PlugIn for Xamarin
- Estimote Beacons and Regions
- Estimote How to turn my iPhone into a Virtual Beacon
Leave a comment