Android SDK

1. Introduction

AsleepTrack SDK는 AsleepTrack API에서 제공하는 수면 트래킹 기능을 모바일 어플리케이션에 쉽게 도입할 수 있도록 디자인된 소프트웨어 개발 키트입니다. 비즈니스 파트너들이 수면 어플리케이션을 개발할 때, AsleepTrack SDK를 활용하면 수면 트래킹과 관련된 모든 핵심 기능을 처리할 수 있으므로, 어플리케이션의 핵심 가치와 UI/UX에 집중할 수 있습니다.

2. Interfaces

2.1 Asleep.AsleepConfig

AsleepConfig 는 API key, user ID, API 통신을 위한 base URL을 포함한 모든 필요한 설정 정보들을 포함합니다. AsleepConfig 의 설정 정보는 SDK의 수면 트래킹 기능들에 전반적으로 사용됩니다.

2.2 Asleep.SleepTrackingManager

SleepTrackingManager AsleepConfig 를 통해서 전달받은 특정한 user ID의 수면 세션들을 관리하는데 사용됩니다. 이 매니저는 트래킹을 시작하고 멈출 수 있고 사용자의 최신 수면 리포트를 불러올 수 있습니다.

2.3 Asleep.Reports

ReportsAsleepConfig를 통해서 전달받은 특정한 user ID의 수면 리포트를 관리하는데 사용됩니다. 이를 통해 특정 기간 동안 발생한 모든 sleep session의 ID를 조회할 수 있고 각 sleep session ID의 세부적인 슬립 리포트를 조회할 수 있습니다.

2.4 Asleep.AsleepErrorCode

이 문서는 개발자가 SDK 내부에서 어떤 일이 일어나고 있는지 이해하는 데 도움이 되는 사용 가능한 모든 오류 코드가 기술되어 있습니다.

3. Version History

VersionHistory
v2.0.01. Change Reports Structure
v2.1.01. The noise reduction processing has been modified.
2. User-Agent has been added to HTTP.
v2.1.11. Ensuring Visibility of AsleepErrorCode Interface
2. Implementing ERR_NETWORK Listener for Handing Internet Coneection Issues
3. Changing HTTP Keep-Alive Time to 10 Seconds
v2.1.21. Redefine errorCode
2. Add related to TrackingStatus
3. Add defensive logic to close the session when initAsleepConfig is called during SleepTracking
v2.2.01. Add Developer Mode Function
2. Add Error Codes related to audio processing

- ERR_AUDIO_SILENCED, ERR_AUDIO_UNSILENCED3. Add Session Object parameter in Reports- createdTimezone, unexpectedEndTime, sleepCycle, sleepCycleCount, wasoCount, longestWaso, unstableBreathCount, lightLatency, remLatency, deepLatency
v2.2.1Fixed obfuscation bug for sessionId in getTrackingStatus.
v2.2.2Android 14 compatibility has been addressed in the hotfix.
v2.3.0Average-stats, sleep_index are added.
Added functionality to continue the session.
Changed some functions to asynchronous processing.
v.2.4.0Add snoring data to Report and Average Stats.
Add setPrivacySensitive during Recording.
v2.4.1Added an optional ‘isPrivacySensitive’ parameter to ‘startSleepTracking()’ to optionally select the privacy sensitive feature of the AudioRecord. The default is true.
v2.4.21. Added AsleepLogger Interface: A new interface, AsleepLogger, has been introduced, featuring four methods: d, e, i, and w.
2. Enhanced Configuration with Logging: The initAsleepConfig function has been updated to include an AsleepLogger parameter as its final argument.
3. Removed Direct Android Log Outputs: In alignment with our new logging approach, direct usage of the Android Log class within the SDK has been removed.
v2.4.3Enhancing State Management with Defensive Coding Practices

What’s Next