SleepTrackingManager
1. Create manager
Asleep.createSleepTrackingManager
Sleep Tracking에 대한 관리 기능을 하는 SleepTrackingManager를 생성합니다.
fun createSleepTrackingManager(
    asleepConfig: AsleepConfig?, 
    trackingListener: SleepTrackingManager.TrackingListener
): SleepTrackingManager?| Parameter Name | Type | Description | 
|---|---|---|
| asleepConfig | AsleepConfig? | initAsleepConfig호출에서 콜백받은 설정값을 입력 | 
| trackingListener | TrackingListener | Sleep Tracking에 대한 상태를 콜백 받을 수 있는 listener | 
Asleep.SleepTrackingManager.TrackingListener
interface TrackingListener {
    fun onCreate()
    fun onUpload(sequence: Int)
    fun onClose(sessionId: String)
    fun onFail(errorCode: Int, detail: String)
}Sleep Tracking이 시작되면 onCreate()가 호출됩니다.
- 30초 단위로 Sleep Tracking이 성공하면, onUpload()가 호출됩니다.
 
| Parameter Name | Type | Description | 
|---|---|---|
| sequence | Int | 0부터 시작하여 30초마다 1씩 증가된 값 | 
- Sleep Tracking이 종료되면 onClose()가 호출됩니다.
 
| Parameter Name | Type | Description | 
|---|---|---|
| sessionId | String | Report 결과 조회를 위한 id 값 | 
- 실패 시, onFail()이 호출됩니다.
 
| Parameter Name | Type | Description | 
|---|---|---|
| errorCode | Int | AsleepErrorCode 참조 | 
| detail | String | errorCode에 관련된 메세지 | 
2. Start sleep tracking
Asleep.SleepTrackingManager.startSleepTracking
Sleep Tracking을 시작합니다.
fun startSleepTracking()
수면 측정 테스트 시 안내 사항을 따라주시기 바랍니다.Asleep의 수면 측정/분석 기능을 정확하게 테스트하려면, 테스트 환경 가이드를 반드시 따라주시기 바랍니다. 이 가이드를 준수하지 않은 환경에서 얻은 수면 분석 결과는 실제 수면 패턴과 정확하게 일치하지 않을 수 있음을 유의해주세요.
🔗 Test Environment Guideline 확인하기
3. Sleep Analysis
Asleep.SleepTrackingManager.requestAnalysis()
현재까지 측정된 결과를 받아옵니다.
fun requestAnalysis(analysisListener: SleepTrackingManager.AnalysisListener)| Parameter Name | Type | Description | 
|---|---|---|
| analysisListener | AnalysisListener | sleep analysis에 대한 listener | 
Asleep.SleepTrackingManager.AnalysisListener
interface AnalysisListener {
    fun onSuccess(session: Session)
    fun onFail(errorCode: Int, detail: String)
}- 성공 시, onSuccess()를 호출합니다.
 
Session data type
data class Session(
    val id: String?,
    val state: String?,
    val startTime: String?,
    val endTime: String?,
    val sleepStages: List<Int?>?,
    val osaStages: List<Int?>?
)| Parameter Name | Type | Description | 
|---|---|---|
| id | String? | 수면 세션 id | 
| state | String? | 세션의 상태 ( OPEN, CLOSED or COMPLETE) | 
| startTime | String? | 세션 시작 시각 | 
| endTime | String? | 세션 종료 시각 | 
| sleepStages | List<Int?>? | 수면 단계 | 
| osaStages | List<Int?>? | 수면 무호흡 단계 | 
- 실패 시, onFail()이 호출됩니다.
 
| Parameter Name | Type | Description | 
|---|---|---|
| errorCode | Int | AsleepErrorCode 참조 | 
| detail | String | errorCode에 관련된 메세지 | 
4. Stop sleep tracking
Asleep.SleepTrackingManager.stopSleepTracking
Sleep Tracking을 정지합니다.
fun stopSleepTracking()Updated 5 months ago
