SleepTrackingManager
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에 대한 상태를 콜백 받을 수 있는 리스너 |
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초마다 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에 관련된 메세지 |
Start sleep tracking
Asleep.SleepTrackingManager.startSleepTracking
- Sleep Tracking을 시작합니다. 파라메터 없이 호출하면 isPrivacySensitive는 true로 셋팅됩니다.(권장)
fun startSleepTracking()
// or
fun startSleepTracking(isPrivacySensitive = true)
Parameter Name | Type | Description |
---|---|---|
isPrivacySensitive | Boolean | true이면 PrivacySensitive 활성화, false 이면 비활성화 |
수면 측정 테스트 시 안내 사항을 따라주시기 바랍니다.
Asleep의 수면 측정/분석 기능을 정확하게 테스트하려면, 테스트 환경 가이드를 반드시 따라주시기 바랍니다. 이 가이드를 준수하지 않은 환경에서 얻은 수면 분석 결과는 실제 수면 패턴과 정확하게 일치하지 않을 수 있습니다.
🔗 Test Environment Guideline 확인하기
Sleep Analysis
Asleep.SleepTrackingManager.requestAnalysis()
- 현재까지 측정된 결과를 받아옵니다.
fun requestAnalysis(analysisListener: SleepTrackingManager.AnalysisListener)
Parameter Name | Type | Description |
---|---|---|
analysisListener | AnalysisListener | sleep analysis에 대한 리스너 |
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 snoringStages: List<Int?>?
)
Parameter Name | Type | Description |
---|---|---|
id | String? | 수면 세션 id |
state | String? | 세션의 상태 ( OPEN, CLOSED or COMPLETE) |
startTime | String? | 세션 시작 시각 |
endTime | String? | 세션 종료 시각 |
sleepStages | List<Int?>? | 수면 단계 |
snoringStages | List<Int?>? | 코골이 |
- 실패 시, onFail()이 호출됩니다.
Parameter Name | Type | Description |
---|---|---|
errorCode | Int | AsleepErrorCode 참조 |
detail | String | errorCode에 관련된 메세지 |
Stop sleep tracking
Asleep.SleepTrackingManager.stopSleepTracking
- Sleep Tracking을 정지합니다.
fun stopSleepTracking()
Get sleep tracking status
Asleep.SleepTrackingManager.getTrackingStatus()
fun getTrackingStatus(): TrackingStatus
Asleep.SleepTrackingManager.TrackingStatus
class TrackingStatus (var sessionId: String? = null)
Property name | Type | Description |
---|---|---|
sessionId | String? | 현재 Tracking 중인 session id |
SleepTrackingManager를 사용하려면 포그라운드 서비스에서 동작되어야 오랜시간 측정이 가능합니다. Sample App을 참조하세요.
Updated 5 days ago