Sin categoría

Creación de aplicaciones Beacon con Couchbase Mobile

 

En 2013 Apple Inc. introdujo una tecnología llamada iBeacon que se ejecuta sobre el protocolo Bluetooth 4.0, también conocido como Bluetooth de baja energía o BLE. Aunque los dispositivos con Bluetooth pueden identificarse a sí mismos, el proceso suele ser 1 a 1, con un anfitrión que se empareja con un dispositivo, como un teléfono inteligente que se empareja con unos auriculares Bluetooth. El iBeacon es simplemente un servicio de difusión que envía unas pocas piezas preconfiguradas de información y puede funcionar en paralelo con otros servicios Bluetooth. Para el debate, los cuatro parámetros de interés a la hora de crear aplicaciones beacon a partir de soluciones como Estimote o de Gimbal son la cadena UUID, un número mayor de 16 bits, un número menor de 16 bits y un valor de intensidad de señal.

En iOS7, Apple Inc. proporciona funcionalidades de biblioteca para trabajar con iBeacons y aunque hay 3rd para otras plataformas, el blog se centrará en iOS. Combinando las tecnologías de Couchbase Mobile, Ed Arenberg y el Equipo EPage está desarrollando un servicio que hace un uso intensivo de iBeacon y utiliza Couchbase Lite para el almacenamiento local, a la vez que sincroniza los datos entre varios dispositivos mediante Couchbase Sync Gateway.

Exploremos ahora los 3 componentes clave de este servicio iBeacon y cómo implementar estas características básicas utilizando las tecnologías de Couchbase Mobile. Ten en cuenta que todo el código está escrito en Swift 1.2.

Guardar datos localmente en el dispositivo en Couchbase Lite

El servicio recopilará primero información de las balizas cercanas y registrará la información del dispositivo en la base de datos. Para su exploración, Apple dispone de una buena cantidad de documentación sobre cómo localizar y alcanzar iBeacons cercanos. Para integrar Couchbase Lite en tu aplicación móvil, puedes consultar la página Portal para desarrolladores de Couchbase Mobile para ver el código de ejemplo de referencia. 

Implantación de ORM

Haremos que la app guarde objetos en clases nativas e implementaremos un ORM para mapear hacia y desde la representación de Couchbase. Cuando la app localice un grupo de iBeacons, se generarán sus objetos de clase. La clase incluye código para guardar el objeto en Couchbase y para cargarlo desde Couchbase. Aquí está la clase para guardar un iBeacon:

 

Sincronización de datos de balizas

Cuando esté conectado a una red, Couchbase Mobile sincronizará los datos utilizando Pasarela de sincronización Couchbase. Esto se maneja automáticamente una vez que configuramos nuestras réplicas push y pull, lo que hace muy fácil mantener el sistema coordinado. Podemos añadir un método observador para escuchar el estado de las operaciones push y pull. Sin embargo, cada dispositivo necesita escuchar los cambios en la base de datos para los que necesita tomar medidas, por lo que podemos añadir un observador para una notificación de cambio de base de datos. Cuando la base de datos cambia, actualizamos nuestros objetos nativos locales. Para gestionar la interacción con Couchbase, crea un objeto Database que instancie un singleton. Los conceptos principales están delineados en el siguiente código:

Estas son las piezas principales que permiten a la aplicación móvil ejecutar actividades locales, como la monitorización de balizas cercanas, guardar su estado local y configurar servicios de sincronización para coordinar la coherencia de la información entre las instancias de la aplicación. A partir de ahí, se pueden desarrollar más funcionalidades y crear servicios sofisticados capaces de sincronizar el estado de una red de aplicaciones. En el próximo blog exploraremos el uso de beacon y Couchbase Móvil para ofrecer aplicaciones de localización que funcionan sin conexión a la red.

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Author

Posted by William Hoang

William fue Developer Advocate en el equipo de Mobile Engineering/Developer Experience de Couchbase. Su amor por el café y el código le ha trascendido al mundo de los móviles, al tiempo que aprecia las experiencias presenciales fuera de línea. Anteriormente, William trabajó en el equipo de Relaciones con Desarrolladores en Twitter, BlackBerry y Microsoft, además de haber sido ingeniero de Software Embedded GPS en Research In Motion. William se licenció en Ingeniería Eléctrica de Software por la Universidad McGill.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.