For AI agents: visit https://docs.asleep.ai/llms.txt for an index of all pages formatted in Markdown and endpoints in OpenAPI. Append .md to any documentation page URL to get its markdown version.
asleepConfig?.fetchUserMetadata(object : Asleep.FetchUserMetadataListener {
override fun onSuccess(metadata: UserMetadata?) {
// 저장된 정보가 없으면 null
}
override fun onFail(errorCode: Int, detail: String) { }
})
Parameter
Type
Description
listener
FetchUserMetadataListener
결과를 받을 리스너. 저장된 정보가 없으면 onSuccess(null)
Listener
interface SaveUserMetadataListener {
fun onSuccess(userInfo: UserInfo)
fun onFail(errorCode: Int, detail: String)
}
interface FetchUserMetadataListener {
fun onSuccess(metadata: UserMetadata?)
fun onFail(errorCode: Int, detail: String)
}
UserMetadata
data class UserMetadata(
val birthYear: Int? = null,
val birthMonth: Int? = null,
val birthDay: Int? = null,
val gender: Gender? = null,
val height: Float? = null,
val weight: Float? = null
)
enum class Gender { MALE, FEMALE, NON_BINARY, OTHER, PREFER_NOT_TO_SAY }
Property
Type
Description
birthYear
Int?
출생 연도 (1900~2100)
birthMonth
Int?
출생 월 (1~12)
birthDay
Int?
출생 일 (1~31)
gender
Gender?
성별
height
Float?
키, cm (1~500). 소수점 첫째 자리까지 저장 (그 아래는 버림)
weight
Float?
몸무게, kg (1~1000). 소수점 첫째 자리까지 저장 (그 아래는 버림)
🚧
범위를 벗어난 값을 넣으면 UserMetadata를 만드는 순간 IllegalArgumentException이 발생합니다. 리스너 콜백이 아니므로, 사용자 입력값을 그대로 넣는다면 입력 단계에서 검증하거나 try-catch로 감싸세요.
모든 항목은 선택입니다. null인 항목은 요청에 포함되지 않습니다.
월과 일의 조합(예: 2월 31일)은 검사하지 않습니다.
UserInfo
saveUserMetadata 성공 시 전달되며, v3.3.0부터 metadata 필드가 추가되었습니다.
data class UserInfo(
val createdTimezone: String?,
val nickName: String?,
val toBeDeleted: Boolean?,
val userId: String?,
val metadata: UserMetadata? = null
)