Sem categoria

Criação de aplicativos Beacon com o Couchbase Mobile

 

Em 2013, a Apple Inc. introduziu uma tecnologia chamada iBeacon que é executado sobre o protocolo Bluetooth 4.0, também conhecido como Bluetooth Low Energy ou BLE. Embora os dispositivos habilitados para Bluetooth possam se identificar, o processo geralmente é de 1 para 1 com o emparelhamento de um host com um dispositivo, como o emparelhamento de um smartphone com um fone de ouvido Bluetooth. O iBeacon é simplesmente um serviço de transmissão que envia algumas informações pré-configuradas e pode ser executado em paralelo com outros serviços Bluetooth. Para discussão, os quatro parâmetros de interesse ao criar aplicativos de beacon a partir de soluções como Estimote ou de Gimbal são a cadeia de caracteres UUID, um número maior de 16 bits, um número menor de 16 bits e um valor de intensidade de sinal.

No iOS7, a Apple Inc. fornece funcionalidades de biblioteca para trabalhar com iBeacons e, embora existam 3rd bibliotecas de terceiros para outras plataformas, o blog aqui se concentrará no iOS. Combinando as tecnologias do Couchbase Mobile, Ed Arenberg e a equipe do Equipe EPage está desenvolvendo um serviço que faz uso intenso do iBeacon e utiliza o Couchbase Lite para armazenamento local enquanto sincroniza dados entre vários dispositivos usando o Couchbase Sync Gateway.

Vamos agora explorar os três principais componentes desse serviço iBeacon e como implementar esses recursos principais usando as tecnologias do Couchbase Mobile. Observe que todo o código foi escrito em Swift 1.2.

Salvando dados localmente no dispositivo para o Couchbase Lite

O serviço primeiro coletará informações de beacons próximos e registrará as informações do dispositivo no banco de dados. Para sua exploração, a Apple tem uma boa quantidade de documentação sobre como localizar e alcançar iBeacons próximos. Para integrar o Couchbase Lite ao seu aplicativo móvel, você pode consultar o Portal do desenvolvedor do Couchbase Mobile para obter um código de exemplo de referência. 

Implementação do ORM

Faremos com que o aplicativo mantenha objetos em classes nativas e implementaremos um ORM para mapear de e para a representação do Couchbase. Quando o aplicativo localizar um grupo de iBeacons, seus objetos de classe serão gerados. A classe inclui código para salvar o objeto no Couchbase e para carregá-lo do Couchbase. Aqui está a classe para manter um iBeacon:

 

Sincronização de dados de beacon

Quando você estiver conectado a uma rede, o Couchbase Mobile sincronizará os dados usando Gateway de sincronização do Couchbase. Isso é tratado automaticamente quando configuramos nossas replicações push e pull, o que facilita muito manter o sistema coordenado. Podemos adicionar um método de observador para ouvir o estado das operações push e pull. No entanto, cada dispositivo precisa ouvir as alterações no banco de dados para as quais ele precisa agir, portanto, podemos adicionar um observador para uma notificação de alteração do banco de dados. Quando o banco de dados é alterado, atualizamos nossos objetos nativos locais. Para gerenciar a interação com o Couchbase, crie um objeto Database que instancie um singleton. Os principais conceitos estão delineados no código abaixo:

Essas são as peças principais que permitem que o aplicativo móvel execute atividades locais, como o monitoramento de beacons próximos, salvando seu estado local e configurando serviços de sincronização para coordenar a consistência das informações entre as instâncias do aplicativo. A partir disso, você pode desenvolver mais funcionalidades e criar serviços sofisticados que possam sincronizar o estado em uma rede de aplicativos. No próximo blog, exploraremos o uso de beacon e Couchbase Mobile para oferecer aplicativos com reconhecimento de localização que funcionam sem conexão de rede.

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por William Hoang

William foi um defensor do desenvolvedor na equipe de engenharia móvel/experiência do desenvolvedor na Couchbase. Seu amor por café e código o levou ao mundo dos dispositivos móveis, ao mesmo tempo em que apreciava as experiências presenciais off-line. Antes disso, William trabalhou na equipe de relações com desenvolvedores do Twitter, BlackBerry e Microsoft, além de ter sido engenheiro de GPS incorporado a software na Research In Motion. William se formou na McGill University em Engenharia Elétrica de Software

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.