분류

카우치베이스 모바일로 비콘 앱 구축하기

 

2013년에 Apple Inc.는 다음과 같은 기술을 도입했습니다. 아이비콘 로 알려진 블루투스 4.0 프로토콜 위에서 실행됩니다. 블루투스 저에너지 또는 BLE. 블루투스 지원 디바이스는 스스로를 식별할 수 있지만, 일반적으로 스마트폰과 블루투스 헤드셋을 페어링하는 것처럼 호스트가 디바이스와 1대1로 페어링하는 방식으로 이루어집니다. 아이비콘은 미리 구성된 몇 가지 정보를 전송하는 브로드캐스트 서비스일 뿐이며 다른 블루투스 서비스와 병렬로 실행할 수 있습니다. 논의를 위해 다음과 같은 솔루션에서 비콘 애플리케이션을 만들 때 관심 있는 네 가지 매개 변수는 다음과 같습니다. Estimote 또는 짐벌 는 UUID 문자열, 주 16비트 숫자, 부 16비트 숫자, 신호 강도 값입니다.

iOS7에서 Apple은 아이비콘 작업을 위한 라이브러리 기능을 제공하며, 3rd 다른 플랫폼용 파티 라이브러리를 소개하지만, 여기 블로그에서는 iOS에 초점을 맞출 것입니다. 카우치베이스 모바일 기술을 결합한 에드 아렌버그와 EPage 팀 는 iBeacon을 많이 활용하고 로컬 스토리지에 Couchbase Lite를 활용하는 동시에 Couchbase Sync Gateway를 사용하여 수많은 기기 간에 데이터를 동기화하는 서비스를 개발 중입니다.

이제 이 iBeacon 서비스의 3가지 주요 구성 요소와 Couchbase Mobile 기술을 사용하여 이러한 핵심 기능을 구현하는 방법을 살펴보겠습니다. 모든 코드는 Swift 1.2로 작성되었습니다.

장치에 로컬로 데이터를 Couchbase Lite에 저장하기

이 서비스는 먼저 주변 비콘에서 정보를 수집하고 장치 정보를 데이터베이스에 기록합니다. 탐색을 위해 Apple은 많은 양의 문서 를 참조하여 근처의 아이비콘을 찾고 범위를 지정하는 방법을 알아보세요. 카우치베이스 라이트를 모바일 앱에 통합하려면 다음 링크를 참조하세요. 카우치베이스 모바일 개발자 포털 를 참조하여 샘플 코드를 확인하세요. 

ORM 구현

앱이 네이티브 클래스에 객체를 유지하도록 하고 Couchbase 표현에 매핑하는 ORM을 구현할 것입니다. 앱이 iBeacon 그룹을 찾으면 해당 클래스 오브젝트가 생성됩니다. 이 클래스에는 개체를 Couchbase에 저장하고 Couchbase에서 로드하기 위한 코드가 포함되어 있습니다. 다음은 iBeacon을 보유하기 위한 클래스입니다:

 

비콘 데이터 동기화

네트워크에 연결되면 Couchbase Mobile은 다음을 사용하여 데이터를 동기화합니다. 카우치베이스 동기화 게이트웨이. 푸시 및 풀 복제를 설정하면 이 작업이 자동으로 처리되므로 시스템을 매우 쉽게 조정할 수 있습니다. 옵저버 메서드를 추가하여 푸시 및 풀 작업의 상태를 수신할 수 있습니다. 그러나 각 장치는 조치를 취해야 하는 데이터베이스의 변경 사항을 수신해야 하므로 데이터베이스 변경 알림을 위한 옵저버를 추가할 수 있습니다. 데이터베이스가 변경되면 로컬 네이티브 객체를 업데이트합니다. 카우치베이스 상호 작용을 관리하려면 싱글톤을 인스턴스화하는 데이터베이스 객체를 만듭니다. 주요 개념은 아래 코드에 설명되어 있습니다:

이는 모바일 앱이 주변 비콘 모니터링, 로컬 상태 저장, 앱 인스턴스 간의 정보 일관성 조정을 위한 동기화 서비스 설정과 같은 로컬 활동을 실행할 수 있도록 하는 주요 부분입니다. 이를 통해 더 많은 기능을 구축하고 앱 네트워크 전체에서 상태를 동기화할 수 있는 정교한 서비스를 만들 수 있습니다. 다음 블로그에서는 비콘의 사용과 카우치베이스 모바일 기술을 결합하여 네트워크 연결 없이도 작동하는 위치 인식 앱을 제공합니다.

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 윌리엄 호앙

윌리엄은 카우치베이스의 모바일 엔지니어링/개발자 경험 팀의 개발자 옹호자였습니다. 커피와 코드에 대한 그의 사랑은 오프라인 대면 경험을 즐기면서 모바일의 세계로 넘어왔습니다. 그 전에는 Twitter, BlackBerry, Microsoft에서 개발자 관계 팀에서 일했으며, Research In Motion에서 소프트웨어 임베디드 GPS 엔지니어로 근무하기도 했습니다. 윌리엄은 맥길 대학교에서 전기 소프트웨어 공학을 전공했습니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.