ENSign In
These docs are for v1.0. Click to read the latest docs for v2.0.

SleepTrackingManager

1. Create manager

Asleep.createSleepTrackingManager

Sleep Tracking에 대한 관리 기능을 하는 SleepTrackingManager를 생성합니다.

fun createSleepTrackingManager(
    asleepConfig: AsleepConfig?, 
    trackingListener: SleepTrackingManager.TrackingListener
): SleepTrackingManager?
Parameter NameTypeDescription
asleepConfigAsleepConfig?initAsleepConfig호출에서 콜백받은 설정값을 입력
trackingListenerTrackingListenerSleep 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 NameTypeDescription
sequenceInt0부터 시작하여 30초마다 1씩 증가된 값
  • Sleep Tracking이 종료되면 onClose()가 호출됩니다.
Parameter NameTypeDescription
sessionIdStringReport 결과 조회를 위한 id 값
  • 실패 시, onFail()이 호출됩니다.
Parameter NameTypeDescription
errorCodeIntAsleepErrorCode 참조
detailStringerrorCode에 관련된 메세지

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 NameTypeDescription
analysisListenerAnalysisListenersleep 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 NameTypeDescription
idString?수면 세션 id
stateString?세션의 상태 ( OPEN, CLOSED or COMPLETE)
startTimeString?세션 시작 시각
endTimeString?세션 종료 시각
sleepStagesList<Int?>?수면 단계
osaStagesList<Int?>?수면 무호흡 단계
  • 실패 시, onFail()이 호출됩니다.
Parameter NameTypeDescription
errorCodeIntAsleepErrorCode 참조
detailStringerrorCode에 관련된 메세지

4. Stop sleep tracking

Asleep.SleepTrackingManager.stopSleepTracking

Sleep Tracking을 정지합니다.

fun stopSleepTracking()