Reports
1. Create Reports
- Asleep.createReports :Generate Reports to get results for sleep tracking.
fun createReports(asleepConfig: AsleepConfig?): Reports?2. Get Single Report
- Asleep.Reports.getReport :Bring sessionId Report.
fun getReport(sessionId: String, reportListener: ReportListener)| Parameter Name | Type | Description |
|---|---|---|
| sessionId | String | When Sleep Tracking stops, sessionId value |
| reportListener | ReportListener | Report Callback listener |
- Asleep.Reports.ReportListener
interface ReportListener {
fun onSuccess(report: Report?)
fun onFail(errorCode: Int, detail: String)
}- If success, onSuccess() is called.
data class Report(
val timezone: String,
val peculiarities: List\<String\>,
val missingDataRatio: Float,
val session: Session?,
val stat: Stat?
)
data class Session(
val id: String,
val state: String,
val startTime: String,
val endTime: String?,
val sleepStages: List\<Int\>?,
val breathStages: List\<Int\>?,
val createdTimezone: String,
val unexpectedEndTime: String?
)
data class Stat(
val sleepEfficiency: Float?,
val sleepLatency: Int?,
val sleepTime: String?,
val wakeupLatency: Int?,
val wakeTime: String?,
val timeInWake: Int?,
val timeInSleepPeriod: Int?,
val timeInSleep: Int?,
val timeInBed: Int?,
val timeInRem: Int?,
val timeInLight: Int?,
val timeInDeep: 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 breathingIndex: Float?,
val sleepCycle: Int?,
val sleepCycleCount: Int?,
val wasoCount: Int?,
val longestWaso: Int?,
val unstableBreathCount: Int?,
val lightLatency: Int?,
val remLatency: Int?,
val deepLatency: Int?
val sleepIndex: Int?,
val timeInSnoring: Int?,
val timeInNoSnoring: Int?,
val snoringRatio: Float?,
val noSnoringRatio: Float?,
val snoringCount: Int?,
val sleepCycleTime: List\<String\>?
)3. Get Multiple Reports
- Asleep.Reports.getReports :Gets a list of Report that are within the range of the date you entered.
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) | View start date |
| toDate | String (YYYY-MM-DD) | View last date |
| orderBy = "DESC" | String | DESC: descending order, ASC: ascending order |
| offset = 0 | Int | number of skipped Report |
| limit = 20 | Int | max number of Report (0~100) |
| reportsListener | ReportsListener? | Report list callback listener |
- Asleep.Reports.ReportsListener
interface ReportsListener {
fun onSuccess(reports: List\<SleepSession\>?)
fun onFail(errorCode: Int, detail: String)
}- If success, onSuccess() is called.
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?
)| Parameter Name | Type | Description | Version |
|---|---|---|---|
| sessionId | String? | Sleep session ID | |
| lastReceivedSeqNum | Int? | The sequence number of the last uploaded audio file | |
| sessionEndTime | String? | Session end time | |
| sessionStartTime | String? | Session start time | |
| state | String? | Sleep session state (OPEN, CLOSED or COMPLETE) | |
| timeInBed | Int? | The time from the start of the sleep measurement to the end of the sleep measurement | |
| createdTimezone | String | Timezone of session creation (Timezone List) | v2.2.0<=SDK |
| unexpectedEndTime | String? | Abnormal session termination time. This assign the next initAsleepConfig time. | v2.2.0<=SDK |
- When getReport() is called with a sessionId, it acquires a comprehensive report.
- If failure, onFail() is called.
| Parameter Name | Type | Description |
|---|---|---|
| errorCode | Int | See AsleepErrorCode |
| detail | String | errorCode Message |
4. Average-stats
- Available from v2.3.0
- Asleep.Reports.getAverageReport
- You can check the average sleep metrics for a specific period of time.
fun getAverageReport(fromDate: String, toDate: String, averageReportListener: AverageReportListener?)| Parameter Name | Type | Description |
|---|---|---|
| fromDate | String | The starting time for the period you want to check the average |
| toDate | String | The ending time for the period you want to check the average |
| averageReportListener | AverageReportListener | Average Report callback listener |
- Asleep.Reports.AverageReportListener
interface AverageReportListener {
fun onSuccess(averageReport: AverageReport?)
fun onFail(errorCode: Int, detail: String)
}AverageReport
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 | Timezone |
| peculiarities | List<String> | Special considerations when calculating the average of sleep sessions |
| averageStats | AverageStats? | An object containing the averages of sleep metrics for "sleptSessions" |
| neverSleptSessions | List<NeverSleptSession> | A list of sessions during which it is determined that no sleep occurred at all during the measurement time. |
| sleptSessions | List<SleptSession> | A list of sessions during which it is determined that sleep occurred during the measurement time. |
Period
data class Period (
val timezone: String,
val endDate: String,
val startDate: 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 timeInStableBreath: Int?,
val timeInUnstableBreath: Int?,
val sleepEfficiency: Float,
val wakeRatio: Float,
val sleepRatio: Float,
val lightRatio: Float?,
val deepRatio: Float?,
val remRatio: Float?,
val stableBreathRatio: Float?,
val unstableBreathRatio: Float?,
val breathingIndex: Float?,
val wasoCount: Int?,
val longestWaso: Int?,
val unstableBreathCount: Int?,
val sleepCycleCount: Int?,
val timeInSnoring: Int?,
val timeInNoSnoring: Int?,
val snoringRatio: Float?,
val noSnoringRatio: Float?,
val snoringCount: Int?
)NeverSleptSessions
data class NeverSleptSessions (
val id: String,
val startTime: String,
val endTime: String,
val 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 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 unstableBreathCount: Int?,
val breathingPattern: String?,
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?,
val breathingIndex: Float?
)- If failure, onFail() is called.
| Parameter Name | Type | Description |
|---|---|---|
| errorCode | Int | See AsleepErrorCode |
| detail | String | errorCode Message |
5. Delete Report
When session data is deleted from the Asleep server upon a request, it becomes difficult to provide specific evidence for the deleted sessions during subsequent billing usage analysis.
- Asleep.deleteReport :Delete sessionId Report.
fun deleteReport(sessionId: String, deleteReportListener: DeleteReportListener)| Parameter Name | Type | Description |
|---|---|---|
| sessionId | String | Delete sessionId value |
| deleteReportListener | DeleteReportListener | Report delete callback listener |
- Asleep.Reports.DeleteReportListener
interface DeleteReportListener {
fun onSuccess(sessionId: String?)
fun onFail(errorCode: Int, detail: String)
}- If success, onSuccess() is called.
| Parameter Name | Type | Description |
|---|---|---|
| sessionId | String? | delete sessionId value |
- If failure, onFail() is called.
| Parameter Name | Type | Description |
|---|---|---|
| errorCode | Int | See AsleepErrorCode |
| detail | String | errorCode Message |
Updated 10 months ago
