측위정보 설정하기
측위 정보에 대한 항목은 SDK 설치 전 체크리스트 를 참조해주세요.SDK 및 시스템 요구사항
OneS1ght SDK 는 다음의 환경에서 동작합니다.- iOS (iPhone)
- Android
SDK 지원되지 않는 기기 또는 OS인 경우 측위와 데이터 수집은 중단되지만 기존 앱은 정상적으로 동작합니다.
1. SDK 설치하기
OneS1ght iOS SDK 를 설치합니다.- Swift Package Manager
- Android
1
패키지 추가 열기
Xcode 에서 [File] → [Add Package Dependencies…] 를 클릭해 주세요.
2
저장소 URL 입력
검색창에 아래 주소를 입력하고 [Add Package] 를 클릭해 주세요.Dependency Rule 은
Up to Next Major Version — 0.1.0 으로 둡니다.3
타깃에 추가
[Add Package] 를 계속해서 클릭해
OneS1ght 라이브러리를 앱 타깃에 추가합니다.4
확인
Xcode 의 [Package Dependencies] 에서 OneS1ght iOS SDK 추가를 확인할 수 있습니다.
Package.swift 로 붙이는 경우:2. 위치 권한 요청
사용자의 동선을 수집하려면 UWB 모듈의 권한 승인이 필요합니다.- iOS
- Android
먼저 앱 타깃의 Info 탭(또는 Nearby Interaction 권한은 SDK 로 확인합니다.
Info.plist)에 권한 설명 두 개를 추가합니다.위치 권한을 먼저 받습니다.
3. SDK 초기화하기
앱에서 사용하는 생명주기에 따라 앱이 열릴 때 SDK 를 초기화하세요.YOUR_SDK_API_KEY OneS1ght 콘솔에서 제공하는 SDK API 키이며, YOUR_GEOSPACE_SDK_KEY 는 Geospace 의 SDK 키입니다.
- SwiftUI (Swift)
- AppDelegate (Swift)
- SceneDelegate (Swift)
- Android
루트 뷰의
.task 또는 App 의 init 에서 호출합니다.YOUR_TENANT_NAME 은 OneS1ght 에서 부여하는 조직의 이름입니다.
4. 프로필 연결
레포트 필터링 및 세그먼트 설정을 위해 지표 대상을 설정합니다. 지표 대상의 속성에는 제한이 없으며, 최초 지표 대상을 설정하면 서버가 고유 프로필 ID(profileId)를 반환합니다.
- iOS (Swift)
- Android
5. 측위 공간 설정
사용자에게 측위하고자 하는 공간을 지정합니다. OneS1ght 에서는 테넌트(조직)에 다수의 건물이 존재할 수 있고 하나의 건물에는 다수의 층이 있습니다. 즉 측위를 지정하기 위해서는 하나의 층이 선택되어야 합니다.- iOS (Swift)
- Android
층의 내용을 변경시 콘솔 페이지의 공간 관리에서 변경 가능합니다.
변경된 내용은 refreshZones 호출로 갱신 가능합니다.
변경된 내용은 refreshZones 호출로 갱신 가능합니다.
6. 진입 콜백 등록
층에 있는 특정 구역의 이벤트를 지정할 수 있습니다. 이벤트 형태는 커스텀으로 구현 가능합니다.- iOS (Swift)
- Android
7. 측위 시작
층 진입준비(세션)가 완료되었을 경우 측위를 시작합니다.- iOS (Swift)
- Android
8. 측위 종료
구역을 이탈했을 경우 측위를 멈춥니다. 이때 초기화·층 설정은 유지되어begin 재호출로 언제든 재시작할 수 있습니다.
- iOS (Swift)
- Android
전체 예시 코드
- iOS (Swift)
- Android