Sample App

AsleepTrack Sample App

최신 SDK 버전을 기준으로 Client에서 AsleepTrack의 수면 모니터링 서비스를 쉽고 빠르게 확인해 볼 수 있는 샘플 코드와 App을 제공하며, 샘플코드는 Android Kotlin, iOS Swift로 작성되어있습니다.

1. 준비

1.1 API Key 생성

AsleepTrack Sample App을 사용하기 위해서는 API Key가 필요합니다.
API Key를 발급하는 방법에 대해서는 이 링크 Generate API Key를 참고하세요.

1.2 Sample App 위치

2. iOS Sample App 사용 방법

2.1 설치 가이드

  1. MainView.swit의 "yourKeyHere"에 발급받은 API Key를 입력합니다.
    Base URL과 Callback URL을 사용하실 경우 아래 "baseUrl"과 "callbackUrl"에 입력합니다.
struct MainView: View {
    private let pastboard = UIPasteboard.general
    @StateObject private var viewModel = MainView.ViewModel()
    @AppStorage("sampleapp+apikey") private var apiKey = "yourKeyHere"
    @AppStorage("sampleapp+userid") private var apiKey = ""
    @AppStorage("sampleapp+baseurl") private var apiKey = "baseUrl"
    @AppStorage("sampleapp+callbackurl") private var apiKey = "callbackUrl"
  1. API Key가 적용된 Sample Code를 빌드 후 설치, 실행을 하면 아래와 같은 첫 화면이 나옵니다.

2.2 사용 가이드

  1. 측정 시작: Start Tracking 버튼을 누르면, User ID가 없을 경우 자동으로 생성되며, 마이크 권한을 허용하면 측정이 시작됩니다.

  2. 측정 중:트래킹 중 화면은 이와 같습니다.

    • Start Time: 측정 시작 시각입니다.
    • Uploaded Sequence: 업로드 된 오디오 데이터의 순서와 누적 측정 시간입니다. 오디오 데이터가 업로드 될 때마다 순서와 시간이 업데이트 됩니다.
    • 오디오 데이터 업로드는 매 30초마다 이뤄집니다.
    • 유효한 수면 리포트를 얻으려면, 최초 20분의 측정 시간(40개의 오디오 데이터 업로드)이 필요합니다.
    • Stop Tracking 버튼을 누르면, 측정이 종료됩니다.
  3. 측정 종료: 측정을 종료하면 다음과 같은 화면이 나타나고, 세션 ID를 확인할 수 있습니다.

    • Session ID: 생성한 Session의 고유한 ID입니다.
    • Start Tracking 버튼을 누르면 새로운 수면 측정이 시작되며, Get Reort 버튼을 누르면 리포트 확인이 가능합니다.
  4. 리포트 확인: Get Report 버튼을 눌러 리포트 확인을 하는 페이지는 이와 같습니다.

    • 수면 단계 분석이 완료된 이후 "Get Report" 요청시 리포트에서 보여지는 데이터는 Asleep Data Metics페이지를 확인하세요. 분석이 완료되기 전에는 통계 데이터는 확인이 안됩니다.

3. 안드로이드 Sample App 사용 방법

3.1 설치 가이드

  1. local.properties에서 api key를 입력합니다.
asleep_api_key="ApiKey"
  1. Base URL과 Callback URL을 사용 원할 경우 "baseUrl"과 "callbackUrl"에 입력합니다.
Asleep.initAsleepConfig(
            context = applicationContext,
            apiKey = BuildConfig.ASLEEP_API_KEY,
            userId = _userId,
            baseUrl = null, // input "baseUrl"
            callbackUrl = null, // input "callbackUrl"
            service = "SampleApp",
            object : Asleep.AsleepConfigListener{}))
  1. API Key가 적용된 Sample Code를 빌드 후 설치, 실행을 하면 아래와 같은 첫 화면이 나옵니다.

  2. 배터리 최적화 옵션은 선택 가능합니다.

3.2 사용 가이드

  1. 측정 시작: Start Tracking 버튼을 누르면, User ID가 없을 경우 자동으로 생성되며, 마이크 권한 및 알람 권한 설정을 허용하면 측정이 시작됩니다.

    • 마이크 표시와 알림창의 알림이 확인 되어야 측정 중을 확인 할 수 있습니다.
  2. 측정 중:트래킹 중 화면은 이와 같습니다.

    • Start Time: 측정 시작 시각입니다.
    • Uploaded Sequence: 업로드 된 오디오 데이터의 순서와 누적 측정 시간입니다. 오디오 데이터가 업로드 될 때마다 순서와 시간이 업데이트 됩니다.
    • 오디오 데이터 업로드는 매 30초마다 이뤄집니다.
    • 유효한 수면 리포트를 얻으려면, 최초 20분의 측정 시간(40개의 오디오 데이터 업로드)이 필요합니다.
    • Stop Tracking 버튼을 누르면, 측정이 종료됩니다.
  3. 측정 종료 및 리포트 확인: 측정을 종료하면 다음과 같은 화면이 나타나고, 세션 ID를 실시간 리포트 결과를 확인할 수 있습니다.

    • Session ID: 생성한 Session의 고유한 ID입니다.
    • 측정 종료 후 실시간 결과 리포트가 나옵니다.
    • Closed 상태의 결과이고, 정확한 결과 데이터 확인을 위해서는 Get Report Again 버튼을 눌러 Completed 상태의 결과를 확인해야 합니다.
  4. 최종 리포트 확인: Closed 세션 상태에서, Get Report Again 버튼을 한번 더 눌러 Completed 리포트를 확인을 하는 페이지는 이와 같습니다.

    • Completed 상태의 결과가 최종적으로 제공되는 결과입니다. 수면 모니터링 분석이 완료되지 않은 시점에서는 통계 데이터가 안 나옵니다.
    • 리포트에서 보여지는 데이터는 Data Metic 페이지를 확인하세요.

4. 수면 분석 결과 확인 방법

4.1 샘플 앱에서 리포트 확인하기

현 페이지 설명을 참고해주세요.

  • iOS Sample App: 2.2-4
  • Android Sample App: 3.2-4

4.2 대시보드에서 세션 확인하기

  1. API Key를 생성한 계정으로 에이슬립 대시보드에 로그인합니다.
  2. Session Tab에서 확인하고자 하는 Session ID를 찾아 수면 분석 결과를 확인합니다.
  3. Session 페이지에서 볼 수 있는 데이터에 대한 설명은 Dashboard-Sessions 페이지를 확인하세요