개발자 모드
1. 개발자 모드 개요
1.1 개발자 모드란?
- 기존 개발 과정의 불편함: 수면 분석 기능 사용을 위해서는 최소 20분의 측정 시간과 실제로 수면을 취하는 것이 필요합니다. 이로 인해 개발자들은 수면 단계의 감지 결과를 확인하기 위해 긴 대기 시간을 필요로 하며, 개발 환경에서 실시간으로 수면 분석 결과를 확인하기 어려움이 있었습니다.
- 개발자 모드의 장점: 개발자 모드는 개발 과정에서 요구되는 대기 시간을 현저하게 줄여줍니다. 또한 실제 수면 상태가 아니더라도 사전에 분석된 수면 결과를 즉각적으로 검토할 수 있어, 개발 과정의 효율성을 크게 향상 시킵니다.
1.2 개발자 모드 활용법
- 개발 중 수면 분석 결과 확인을 위해 대기하는 시간을 단축 시키기 위해 사용합니다.
- 짧은 시간 안에 구현의 결과를 빠르게 확인하기 위해 사용합니다.
- 실제 수면을 취하지 않더라도 수면 단계가 감지된 데이터를 확인하기 위해 사용합니다.
- 정상적인 개발 과정을 빠르게 검증하기 위해 사용합니다.
- 주의: 개발자 모드에서 특정 예외 케이스 확인이 가능하지만, 라이브에서 발생 가능한 모든 예외 케이스를 확인할 수는 없습니다. 정확한 예외 케이스는 라이브 모드에서 확인하셔야 합니다.
1.3 주요 기능
SDK/API 기능 제공: SDK 2.2.0에서 제공하는 모든 Method 확인이 가능하고, 실제 기능 구현과 동일한 환경에서 테스트 가능.
- 분석 완료된 샘플 데이터 제공: 이미 분석이 완료된 샘플 수면 모니터링 결과 확인 (동일 데이터 반복 제공)
- Sample Code 제공: 샘플 코드를 통해서 개발자 모드 설정 및 기능 확인 가능
2. 라이브 모드 vs 개발자 모드 비교
구분 | 개발자 모드 | 라이브 모드 |
---|---|---|
사용 기능 | SDK 2.2.0에서 제공해 주는 모든 기능 | SDK, API 모든 기능 제공 |
세션 생성 | 한 유저(User ID)당 하나의 수면 세션 생성 가능 - 2개 이상 세션 생성 시도시 Error Return | 한 유저(User ID)당 하나의 수면 세션 유지 - 2개 이상 세션 생성시 이전 세션 종료 후 새로운 세션 생성 |
URL | Callback URL 기능 제공, Base URL 기능 제공 안 함 | Callback URL과 Base URL 기능 제공 |
최소 측정 시간 | 2분 (Upload 4회) | 20분 (Upload 40회) |
업로드 주기 | 30초마다 Upload(30초를 300초로 계산) | 30초 |
콜백 주기 | 최소 측정 2분 후 30초마다 Callback Data 전달 | 최소 측정 20분 후 5분(300초)마다 Callback Data 전달 |
분석 결과 | Tracking 종료 후 Call back Data와 Report는 측정 시간과 상관 없이 '이미 분석이 완료된 8시간 샘플 수면 분석 데이터'를 제공 (동일한 샘플 데이터를 반복적으로 제공) | 실제 수면 분석 결과 데이터 제공 |
3. Call Flow
4. 설정 방법
- Developer Mode Flag "true" 설정 후 initAsleepConfig 호출
Asleep.DeveloperMode.isOn = true
let userId: String?
let baseUrl: URL?
let callbackUrl: URL?
let service: String?
let delegate: AsleepConfigDelegate = self
Asleep.initAsleepConfig(apiKey: apiKey,
userId: userId,
baseUrl: baseUrl,
callbackUrl: callbackUrl,
service: service,
delegate: self)
Asleep.DeveloperMode.isOn = true
Asleep.initAsleepConfig(context: Context,
apiKey: apiKey,
userId: String?,
baseUrl: String?,
callbackUrl: String?,
service: String?,
asleepConfigListener: Asleep.AsleepConfigListener)
Updated 6 months ago