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
String
DESC: 내림차순 정렬 ASC: 오름차순 정렬
offset
Int
스킵할 Report 개수 (default: 0)
limit
Int
최대 받을 Report 개수 (0~100, default: 20)
reportsListener
ReportsListener?
Report 목록을 콜백 받을 리스너
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?,
val createdTimezone: String,
val unexpectedEndTime: String?
)
Asleep.Reports.getAverageReport: 사용자의 특정 기간 내 수면 메트릭들의 평균을 확인할 수 있습니다.
fun getAverageReport(fromDate: String, toDate: String, averageReportListener: AverageReportListener?)
Parameter Name
Type
Description
fromDate
String
평균을 확인하고자 하는 기간의 시작 시간
toDate
String
평균을 확인하고자 하는 기간의 종료 시간
averageReportListener
AverageReportListener
Average Report를 콜백 받을 listener
Asleep.Reports.AverageReportListener
interface AverageReportListener {
fun onSuccess(averageReport: AverageReport?)
fun onFail(errorCode: Int, detail: String)
}
성공 시, onSuccess()가 호출됩니다.
data class AverageReport (
val period: Period,
val peculiarities: List<String>,
val averageStats: AverageStats?,
val neverSleptSessions: List<NeverSleptSessions>,
val sleptSessions: List<SleptSessions>
)
Parameter Name
Type
Description
period
Period
타임존
peculiarities
List<String>
수면 세션들의 평균을 구할 때 특이사항
averageStats
AverageStats?
sleptSessions의 수면 메트릭들의 평균들을 가지는 객체
neverSleptSessions
List<NeverSleptSession>
세션 측정시간 동안 전혀 잠을 자지 않았다고 판단 되는 세션들의 목록
sleptSessions
List<SleptSession>
세션 측정시간 동안 잠을 잤다고 판단 되는 세션들의 목록
Period
data class Period (
val timezone: String,
val endDate: String,
val startDate: String,
)
Parameter Name
Type
Description
timezone
String
요청한 타임존 예. UTC, Asia/Seoul
startDate
String
요청한 시작 시간
endDate
String
요청한 종료 시간
AverageStats
data class AverageStats(
val startTime: String,
val endTime: String,
val sleepTime: String,
val wakeTime: String,
val sleepLatency: Int,
val wakeupLatency: Int,
val timeInBed: Int,
val timeInSleepPeriod: Int,
val timeInSleep: Int,
val timeInWake: Int,
val timeInLight: Int?,
val timeInDeep: Int?,
val timeInRem: Int?,
val sleepEfficiency: Float,
val wakeRatio: Float,
val sleepRatio: Float,
val lightRatio: Float?,
val deepRatio: Float?,
val remRatio: Float?,
val wasoCount: Int?,
val longestWaso: Int?,
val sleepCycleCount: Int?,
val timeInSnoring: Int?,
val timeInNoSnoring: Int?,
val snoringRatio: Float?,
val noSnoringRatio: Float?,
val snoringCount: Int?
)
Parameter Name
Type
Description
startTime
String
세션 시작 시각
endTime
String
세션 종료 시각
sleepTime
String
잠이 든 시각
wakeTime
String
잠에서 깨어각난 시각
sleepLatency
Int
잠들때까지 걸린 시간
wakeupLatency
Int
잠에서 깨어난 후 수면 측정을 종료하기까지 걸린 시간
timeInBed
Int
수면 측정 시작 시각부터 수면 측정 종료 시각 까지의 시간
timeInSleepPeriod
Int
수면 측정 시간 중 수면 측정 시작으로부터 잠들기 까지 걸린 시간과 잠에서 깨어난 후로부터 수면 측정을 종료하기까지 걸린 시간을 제외한 시간 (time_in_bed - sleep_latency - wakeup_latency)
timeInSleep
Int
수면 측정 시간 중 실제로 수면 중이었던 시간 이 시간이 deep, light, rem의 3단계로 구분됨
timeInWake
Int
수면 도중에 깬 시간
timeInLight
Int?
면 단계가 light 로 진행된 총 시간
timeInDeep
Int?
수면 단계가 deep로 진행된 총 시간
timeInRem
Int?
수면 단계가 rem 으로 진행된 총 시간
sleepEfficiency
Float
수면 측정 시간 중 실제로 잠든 시간의 비율
wakeRatio
Float
수면 단계 도중 중간에 깬 시간의 비율
sleepRatio
Float
수면 단계 도중 깨지 않고 잔 시간의 비율
lightRatio
Float?
수면 단계 도중 light 수면의 비율
deepRatio
Float?
수면 단계 도중 deep 수면의 비율
remRatio
Float?
rem sleep 비율
wasoCount
Int?
수면 구간 중 wake가 발생한 횟수
longestWaso
Int?
수면 구간 중 가장 긴 wake의 시간
sleepCycleCount
Int?
수면 주기의 횟수
timeInSnoring
Int?
코골이가 발생한 총 시간
timeInNoSnoring
Int?
코골이가 발생하지 않은 총 시간
snoringRatio
Float?
수면 단계 도중 코골이었던 시간의 비율
noSnoringRatio
Float?
수면 단계 도중 코골이가 아니었던 시간의 비율
snoringCount
Int?
코골이 구간의 발생한 횟수
NeverSleptSessions
data class NeverSleptSessions (
val id: String,
val startTime: String,
val endTime: String,
val completedTime: String
)
Parameter Name
Type
Description
id
String
session id
startTime
String
세션 시작 시각
endTime
String
세션 종료 시각
completedTime
String
세션 분석 완료 시각
SleptSessions
data class SleptSessions (
val id: String,
val createdTimezone: String,
val startTime: String,
val endTime: String,
val completedTime: String,
val sleepEfficiency: Float,
val sleepLatency: Int?,
val sleepTime: String?,
val wakeupLatency: Int?,
val wakeTime: String?,
val lightLatency: Int?,
val deepLatency: Int?,
val remLatency: Int?,
val timeInWake: Int,
val timeInSleepPeriod: Int,
val timeInSleep: Int,
val timeInBed: Int,
val timeInRem: Int?,
val timeInLight: Int?,
val timeInDeep: Int?,
val wakeRatio: Float,
val sleepRatio: Float,
val remRatio: Float?,
val lightRatio: Float?,
val deepRatio: Float?,
val sleepCycle: Int?,
val sleepCycleCount: Int?,
val wasoCount: Int?,
val longestWaso: Int?,
val timeInSnoring: Int?,
val timeInNoSnoring: Int?,
val snoringRatio: Float?,
val noSnoringRatio: Float?,
val snoringCount: Int?,
)