# SleepTrackingManager # Create manager ### Asleep.createSleepTrackingManager * Create SleepTrackingManager that manages Sleep Tracking Feature. ```kotlin fun createSleepTrackingManager( asleepConfig: AsleepConfig?, trackingListener: SleepTrackingManager.TrackingListener ): SleepTrackingManager? ``` | Parameter Name | Type | Description | | :--------------- | :--------------- | :------------------------------------------------------------------------ | | asleepConfig | AsleepConfig? | Enter the set value received by the callback in the initAsleepConfig call | | trackingListener | TrackingListener | Listener to receive callback status for Sleep Tracking | ### Asleep.SleepTrackingManager.TrackingListener ```kotlin interface TrackingListener { fun onCreate() fun onUpload(sequence: Int) fun onClose(sessionId: String) fun onFail(errorCode: Int, detail: String) } ``` * When Sleep Tracking starts, onCreate() is called, and onUpload() is called every 30 seconds. | Parameter Name | Type | Description | | :------------- | :--- | :------------------------------------------------------------- | | sequence | Int | A value that starts from 0 and increases by 1 every 30 seconds | * When Sleep Tracking is ended, onClose()is called. | Parameter Name | Type | Description | | :------------- | :----- | :--------------------- | | sessionId | String | Report Result id value | * If failure, onFail() is called. | Parameter Name | Type | Description | | :------------- | :----- | :---------------------------------------------- | | errorCode | Int | See [AsleepErrorCode ](https://docs-en.asleep.ai/docs/android-error-codes) | | detail | String | errorCode Message | # Start sleep tracking ### Asleep.SleepTrackingManager.startSleepTracking * Start Sleep Tracking. ```kotlin fun startSleepTracking() ``` > 🚧 Follow the guideline for testing the sleep tracking > > To accurately test Asleep's sleep tracking/analysis, 
please follow the test environment guide. Please note that sleep analysis results obtained 
in environments not adhering to this guide may not accurately reflect actual sleep patterns. > > 🔗 Check [Test Environment Guideline](https://docs-en.asleep.ai/docs/sleep-environment-guideline) # Sleep Analysis ### Asleep.SleepTrackingManager.requestAnalysis() * Received the sleep data measured to date. ```kotlin fun requestAnalysis(analysisListener: SleepTrackingManager.AnalysisListener) ``` | Parameter Name | Type | Description | | :--------------- | :--------------- | :---------------------- | | analysisListener | AnalysisListener | sleep analysis listener | ### Asleep.SleepTrackingManager.AnalysisListener ```kotlin interface AnalysisListener { fun onSuccess(session: Session) fun onFail(errorCode: Int, detail: String) } ``` * If success, onSuccess() is called. #### Session data type ```kotlin data class Session( val id: String?, val state: String?, val startTime: String?, val endTime: String?, val sleepStages: List?, val snoringStages: List? ) ``` | Parameter Name | Type | Description | | :------------- | :----------- | :--------------------------------------------- | | id | String? | Sleep session id | | state | String? | Sleep session state (OPEN, CLOSED or COMPLETE) | | startTime | String? | Session start time | | endTime | String? | Session end date | | sleepStages | List\? | Sleep stages | | snoringStages | List\? | Snoring | * If failure, onFail() is called. | Parameter Name | Type | Description | | :------------- | :----- | :----------------------------------------- | | errorCode | Int | See [AsleepErrorCode](android-error-codes) | | detail | String | errorCode message | # Stop sleep tracking ### Asleep.SleepTrackingManager.stopSleepTracking * Stop Sleep Tracking. ```kotlin fun stopSleepTracking() ``` # Get sleep tracking status ### Asleep.SleepTrackingManager.getTrackingStatus() ```kotlin fun getTrackingStatus(): TrackingStatus ``` ### Asleep.SleepTrackingManager.TrackingStatus ```kotlin class TrackingStatus (var sessionId: String? = null) ```
Property name Type Description
sessionId String? Currently tracking session id Available from the onCreate function of TrackingListener Valid until the corresponding Session is closed