Reports
1. Create Reports
- Asleep.createReports
Sleep Tracking에 대한 결과를 가져오기 위한 Reports를 생성합니다.
fun createReports(asleepConfig: AsleepConfig?): Reports?| Parameter Name | Type | Description |
|---|---|---|
| asleepConfig | AsleepConfig? | initAsleepConfig호출에서 콜백받은 설정값을 입력 |
2. Get Single Report
- Asleep.Reports.getReport
sessionId에 해당하는 Report를 가져옵니다.
fun getReport(sessionId: String, reportListener: ReportListener)| Parameter Name | Type | Description |
|---|---|---|
| sessionId | String | Sleep Tracking을 정지할 때 받을 수 있는 sessionId의 값 |
| reportListener | ReportListener | Report를 콜백 받을 listener |
- Asleep.Reports.ReportListener
interface ReportListener {
fun onSuccess(report: Report?)
fun onFail(errorCode: Int, detail: String)
}성공 시, onSuccess()가 호출됩니다.
data class Report(
val validity: String?,
val session: Session?,
val stat: Stat?,
val timezone: String?
)
data class Session(
val endTime: String?,
val id: String?,
val osaStages: List<Int?>?,
val sleepStages: List<Int?>?,
val startTime: String?,
val state: String?
)
data class Stat(
val sleepEfficiency: Float?,
val sleepLatency: Int?,
val sleepTime: String?,
val timeInBed: Int?,
val timeInDeep: Int?,
val timeInLight: Int?,
val timeInRem: Int?,
val timeInSleep: Int?,
val timeInWake: Int?,
val wakeTime: String?,
val wakeupLatency: Int?,
val timeInSleepPeriod: Int?,
val timeInStableBreath: Int?,
val timeInUnstableBreath: Int?,
val wakeRatio: Float?,
val sleepRatio: Float?,
val remRatio: Float?,
val lightRatio: Float?,
val deepRatio: Float?,
val stableBreathRatio: Float?,
val unstableBreathRatio: Float?,
val breathingPattern: String?,
val estimatedAhi: Float?
)| Parameter Name | Type | Description |
|---|---|---|
| validity | String? | 해당 수면 세션의 분석이 유효한지 여부 IN_PROGRESS: 세션이 OPEN인 경우 |
| session | Session? | 세션 분석 정보 |
| stat | Stat? | 분석 통계 정보 |
| timezone | String? | 분석 결과의 시간대를 해당 timezone으로 변경해서 반환 예. UTC, Asia/Seoul |
| endTime | String? | 세션 종료 시각 예) 2022-08-01T01:31:17+09:00 (요청 타임존이 Asia/Seoul 일 경우) |
| id | String? | 세션 Id |
| osaStages | List<Int?>? | 호흡 안정도 단계 리스트 |
| sleepStages | List<Int?>? | 수면 단계 리스트 |
| startTime | String? | 세션 시작 시각 |
| state | String? | 수면 세션 상태 (OPEN, CLOSED or COMPLETE) |
| sleepEfficiency | Float? | 수면 측정 시간 중 실제로 잠든 시간의 비율 |
| sleepLatency | Int? | 잠들때까지 걸린 시각 |
| sleepTime | String? | 수면 측정 시작 후 잠들기 까지 걸린 시간 |
| timeInBed | Int? | 수면 측정 시작 시각부터 수면 측정 종료 시각 까지의 시간 |
| timeInDeep | Int? | 수면 단계가 deep로 진행된 총 시간 |
| timeInLight | Int? | 수면 단계가 light 로 진행된 총 시간 |
| timeInRem | Int? | 수면 단계가 rem 으로 진행된 총 시간 |
| timeInSleep | Int? | 수면 측정 시간 중 실제로 수면 중이었던 시간이 시간이 deep, light, rem의 3단계로 구분됨 |
| timeInWake | Int? | 수면 도중에 깬 시간 |
| wakeTime | String? | 잠에서 깨어난 시각 |
| wakeupLatency | Int? | 잠에서 깨어난 후 수면 측정을 종료하기까지 걸린 시간 |
| timeInSleepPeriod | Int? | 수면 측정 시간 중 수면 측정 시작으로부터 잠들기 까지 걸린 시간과 잠에서 깨어난 후로부터 수면 측정을 종료하기까지 걸린 시간을 제외한 시간 |
| timeInStableBreath | Int? | 호흡 안정 구간이었던 총 시간 |
| timeInUnstableBreath | Int? | 호흡 불안정 구간이었던 총 시간 |
| wakeRatio | Float? | 수면 단계 도중 중간에 깬 시간의 비율 |
| sleepRatio | Float? | 수면 단계 도중 깨지 않고 잔 시간의 비율 |
| remRatio | Float? | rem sleep 비율 |
| lightRatio | Float? | 수면 단계 도중 light 수면의 비율 |
| deepRatio | Float? | 수면 단계 도중 deep 수면의 비율 |
| stableBreathRatio | Float? | 수면 단계 도중 호흡 안정 구간이었던 시간의 비율 |
| unstableBreathRatio | Float? | 수면 단계 도중 호흡 불안정 구간이었던 시간의 비율 |
| breathingPattern | String? | 호흡 불안정의 단계 VERY_STABLE: 매우 안정 STABLE: 안정 UNSTABLE: 불안정 |
| estimatedAhi | Float? | 호흡 불안정 레벨을 판단하기 위한 값 |
실패 시, onFail()이 호출됩니다.
| Parameter Name | Type | Description |
|---|---|---|
| errorCode | Int | AsleepErrorCode 참조 |
| detail | String | errorCode에 관련된 메세지 |
3. Get Multiple Reports
- Asleep.Reports.getReports
입력한 날짜의 범위내에 있는 Report 목록을 가져옵니다.
fun getReports(
fromDate: String,
toDate: String,
orderBy: String = "DESC",
offset: Int = 0,
limit: Int = 20,
reportsListener: ReportsListener?)
| Parameter Name | Type | Description |
|---|---|---|
| fromDate | String (YYYY-MM-DD) | 조회 시작 날짜 |
| toDate | String (YYYY-MM-DD) | 조회 마지막 날짜 |
| orderBy = "DESC" | String | DESC: 내림차순 정렬ASC: 오름차순 정렬 |
| offset = 0 | Int | 스킵할 Report 개수 |
| limit = 20 | Int | 최대 받을 Report 개수(0~20) |
| reportsListener | ReportsListener? | Report 목록을 콜백 받을 listener |
- Asleep.Reports.ReportsListener
interface ReportsListener {
fun onSuccess(reports: List<SleepSession>?)
fun onFail(errorCode: Int, detail: String)
}성공 시, onSuccess()가 호출됩니다.
data class SleepSession(
val sessionId: String?,
val lastReceivedSeqNum: Int?,
val sessionEndTime: String?,
val sessionStartTime: String?,
val state: String?,
val timeInBed: Int?
)| Parameter Name | Type | Description |
|---|---|---|
| sessionId | String? | 세션 Id |
| lastReceivedSeqNum | Int? | 마지막으로 업로드 받은 오디오 파일의 순서 번호 |
| sessionEndTime | String? | 세션 종료 시각 |
| sessionStartTime | String? | 세션 시작 시각 |
| state | String? | 수면 세션 상태 (OPEN, CLOSED or COMPLETE) |
| timeInBed | Int? | 침대에 있었던 시간 |
sessionId로 getReport() 호출 시 상세 리포트를 가져옵니다.
실패 시, onFail()이 호출됩니다.
| Parameter Name | Type | Description |
|---|---|---|
| errorCode | Int | AsleepErrorCode 참조 |
| detail | String | errorCode에 관련된 메세지 |
4. Delete Report
세션 데이터 삭제 요청에 따라 에이슬립 서버에서 세션 데이터가 삭제된 경우, 추후 과금 사용량 분석 시 삭제된 세션에 대한 구체적인 근거 제공이 어렵습니다.
- Asleep.deleteReport
sessionId에 해당하는 Report를 삭제합니다.
fun deleteReport(sessionId: String, deleteReportListener: DeleteReportListener)| Parameter Name | Type | Description |
|---|---|---|
| sessionId | String | 삭제할 sessionId의 값 |
| deleteReportListener | DeleteReportListener | Report 삭제에 대한 콜백을 받을 listener |
- Asleep.Reports.DeleteReportListener
interface DeleteReportListener {
fun onSuccess(sessionId: String?)
fun onFail(errorCode: Int, detail: String)
}성공 시, onSuccess()가 호출됩니다.
| Parameter Name | Type | Description |
|---|---|---|
| sessionId | String? | 삭제된 sessionId의 값 |
실패 시, onFail()이 호출됩니다.
| Parameter Name | Type | Description |
|---|---|---|
| errorCode | Int | AsleepErrorCode 참조 |
| detail | String | errorCode에 관련된 메세지 |
Updated over 1 year ago
Did this page help you?
