헬스 커넥트는 건강 및 피트니스 데이터를 저장하고 구조화합니다. 또한 다양한 데이터 유형이 측정되는 방식에 대해 알아보겠습니다 이러한 데이터 유형에는 심박수, 즉시 측정한 걸음 수, 시간에 따른 걸음 수, 측정된 수면 데이터 세션수
먼저 데이터 유형과 권한이 무엇인지 이해하는 것이 중요합니다 앱의 요구사항을 계획할 수 있도록 혜택을 연결하세요. 이를 통해 데이터 유형을 검토해야 합니다.
데이터 유형 카테고리
헬스 커넥트는 대부분의 건강 및 피트니스에 사용되는 데이터 유형을 지원합니다. 최대한 다양한 앱을 제공할 수 있습니다. 헬스 커넥트는 건강/피트니스 데이터를 종합적으로 확인하고 저장할 수 있습니다. 이러한 데이터 유형은 분류할 수 있습니다
- 활동: 사용자가 하는 모든 활동을 캡처합니다. 달리기, 수영, 수면과 같은 건강 및 피트니스 활동을 포함할 수 있습니다.
- 신체 측정: 다음과 같이 신체와 관련된 일반적인 데이터를 캡처합니다. 기초대사율과 같은 주요 측정항목을 측정할 수 있습니다
- 월경 주기 추적: 월경 주기 및 관련 데이터 포인트(예: 배란 테스트의 바이너리 결과)를 캡처합니다.
- 영양: 수분 섭취 및 영양 데이터 유형을 캡처합니다. 이전 사용자가 한 번에 마시는 물의 양을 나타냅니다. 후자 칼로리, 당분, 마그네슘 등 선택 입력란이 포함됩니다.
- 수면: 사용자의 수면 시간 및 유형과 관련된 인터벌 데이터를 캡처합니다.
- 활력 징후: 사용자의 일반적인 건강에 관한 필수 정보를 캡처합니다. 여기에는 체온, 혈당, 혈당 등의 데이터가 포함됩니다. 혈중 산소 포화도 등이 있습니다.
데이터 유형 형식
헬스 커넥트의 데이터 유형은 다음의 서브클래스인 객체에 저장됩니다.
Record
각 데이터 유형에는
time
및 zoneOffset
또는 특정(예: title
, count
, percentage
)
긴 유형, double 또는 string과 같은 간단한 유형을 사용하는 필드도 있고,
열거형과 같은 복잡한 유형과 Instant
와 같은 클래스도
ZoneOffset
이 필드의 속성은 필수 또는
선택사항. 어떤 속성은 읽기 전용이고 어떤 속성은
지정할 수 있습니다.
사용 가능한 데이터 유형과 필드의 전체 목록은 클래스를 참조하세요. Jetpack.
추가 데이터 속성
헬스 커넥트 API의 데이터에는 다음 목록에 설명된 메타데이터 속성도 포함됩니다.
- 헬스 커넥트 ID: 생성 시 각 데이터 포인트에 고유 식별자(UID)가 할당됩니다. 이는 표준 읽기 및 쓰기 작업에 유용합니다. 자세한 내용은 헬스 커넥트 ID를 참고하세요.
- 최종 수정 시간: 레코드의 마지막 인스턴스 타임스탬프를 표시합니다. 에 업데이트가 있습니다. 이 ID는 또는 업데이트할 때마다 기록해야 합니다
- 데이터 출처: 헬스 커넥트는 데이터를 가져온 것입니다. 여기에는 해당 출처의 패키지 이름인 생성 시 자동으로 추가됩니다.
- 기기: 헬스 커넥트는 데이터가 발생한 기기에 관한 정보를 저장합니다. 여기에는 해당 기기의 제조업체와 모델이 포함되며 수동으로 값을 제공합니다.
- 클라이언트 ID: 헬스 커넥트는 클라이언트 앱이 클라이언트 ID를 제공하여 클라이언트 ID를 제공합니다. 자체 ID를 사용하여 데이터를 참조하므로 충돌 해결과 더 쉽게 동기화할 수 있습니다. 이는 기록에 수동으로 제공됩니다.
- 클라이언트 레코드 버전: 헬스 커넥트는 클라이언트 ID와 함께 다음을 제공합니다. 데이터 동기화 중에 변경사항을 추적하는 데 도움이 되는 버전 관리 이는 기록에 수동으로 제공됩니다.
- 기록 방법: 헬스 커넥트를 사용하면 데이터가 기록되는 방식을 파악할 수 있습니다. 이러한 방법에는 수동적으로 (자동으로) 데이터를 기록하는 앱과 직접 또는 수동으로 데이터를 기록해야 합니다.
헬스 커넥트 ID
헬스 커넥트는 새로 삽입된 데이터 객체에 고유 식별자 (UID)를 할당합니다. 데이터 객체를 식별하고 다른 항목과 구분하는 데 사용됩니다. 헬스 커넥트 ID 읽기 또는 쓰기 요청에 유용합니다 헬스 커넥트 ID는 다음과 동일하지 않습니다. 클라이언트 ID 클라이언트 앱은 클라이언트 ID를 할당하지만 헬스 커넥트는 독점적으로 할당합니다. 헬스 커넥트 ID를 할당합니다.
헬스 커넥트 ID를 사용할 때는 다음 사항에 유의해야 합니다.
- 세션에는 단일 헬스 커넥트 ID가 있지만 세션 내 데이터에는 헬스 커넥트 ID를 직접 관리합니다.
- 헬스 커넥트 ID는 타임스탬프에 연결되거나 관련되지 않습니다.
- 일부 사용 사례에서는 특정 헬스 커넥트 ID를 저장해야 할 수도 있습니다. 워크플로에 따라 다릅니다 예를 들어 특정 ID가 있어야만 사용자가 방금 기록한 데이터 항목을 확인합니다.
헬스 커넥트에서의 시간
헬스 커넥트에 기록되는 모든 데이터는 시간대 오프셋 정보를 지정해야 합니다. 시간대 오프셋을 지정하면 앱이 데이터를 읽고 시간대별로 나타낼 수 있습니다. 상용시. 상용 시간은 현지 시간이며 사용자와 관련이 있습니다. 반드시 협정 세계시 (UTC)를 따라야 하는 것은 아닙니다.
드물지만 시간대 오프셋을 사용할 수 없는 경우도 있습니다. 이러한 상황이 발생하는 경우 Android 14 (API 수준 34)의 경우 헬스 커넥트는 기기의 시스템 기본 시간대입니다. Android 13 이하 버전 (API 수준 33 이하)에서는 구성 없이 헬스 커넥트에 데이터를 쓸 수 있습니다. 시간대 오프셋 정보를 지정하는 것이 좋습니다. 가능하면 이 정보를 피해야 합니다.
시간 및 시간대 설정
데이터를 쓰는 동안 시간대 오프셋 정보를 지정하면 헬스 커넥트에서 데이터를 읽을 때 시간대 정보가 제공됩니다. 하지만 그렇게 하지 못할 수도 있습니다. 특정 상황(예: 시간대 오프셋이 제공되지 않은 경우) 앱은 특정 상황에 맞는 방식으로 두 종류의 데이터를 모두 처리할 준비가 되어 있어야 합니다.
권한
권한을 요청하기 전에 먼저 앱은 매니페스트에서 권한을 선언해야 합니다. 데이터 유형과 해당하는 데이터 유형의 전체 매핑은 다음 표를 참고하세요. 권한을 부여할 수 있습니다
1.0.0-alpha10 이상
레코드 클래스 유형 | 읽기 및 쓰기 권한 선언 |
---|---|
ActiveCaloriesBurned |
android.permission.health.READ_ACTIVE_CALORIES_BURNED
android.permission.health.WRITE_ACTIVE_CALORIES_BURNED |
BasalBodyTemperature |
android.permission.health.READ_BASAL_BODY_TEMPERATURE
android.permission.health.WRITE_BASAL_BODY_TEMPERATURE |
BasalMetabolicRate |
android.permission.health.READ_BASAL_METABOLIC_RATE
android.permission.health.WRITE_BASAL_METABOLIC_RATE |
BloodGlucose |
android.permission.health.READ_BLOOD_GLUCOSE
android.permission.health.WRITE_BLOOD_GLUCOSE |
BloodPressure |
android.permission.health.READ_BLOOD_PRESSURE
android.permission.health.WRITE_BLOOD_PRESSURE |
BodyFat |
android.permission.health.READ_BODY_FAT
android.permission.health.WRITE_BODY_FAT |
BodyTemperature |
android.permission.health.READ_BODY_TEMPERATURE
android.permission.health.WRITE_BODY_TEMPERATURE |
BodyWaterMass |
android.permission.health.READ_BODY_WATER_MASS
android.permission.health.WRITE_BODY_WATER_MASS |
BoneMass |
android.permission.health.READ_BONE_MASS
android.permission.health.WRITE_BONE_MASS |
CervicalMucus |
android.permission.health.READ_CERVICAL_MUCUS
android.permission.health.WRITE_CERVICAL_MUCUS |
CyclingPedalingCadence |
android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE |
Distance |
android.permission.health.READ_DISTANCE
android.permission.health.WRITE_DISTANCE |
ElevationGained |
android.permission.health.READ_ELEVATION_GAINED
android.permission.health.WRITE_ELEVATION_GAINED |
ExerciseSession |
android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE |
FloorsClimbed |
android.permission.health.READ_FLOORS_CLIMBED
android.permission.health.WRITE_FLOORS_CLIMBED |
HeartRate |
android.permission.health.READ_HEART_RATE
android.permission.health.WRITE_HEART_RATE |
HeartRateVariabilityRmssd |
android.permission.health.READ_HEART_RATE_VARIABILITY
android.permission.health.WRITE_HEART_RATE_VARIABILITY |
Height |
android.permission.health.READ_HEIGHT
android.permission.health.WRITE_HEIGHT |
Hydration |
android.permission.health.READ_HYDRATION
android.permission.health.WRITE_HYDRATION |
IntermenstrualBleeding |
android.permission.health.READ_INTERMENSTRUAL_BLEEDING
android.permission.health.WRITE_INTERMENSTRUAL_BLEEDING |
LeanBodyMass |
android.permission.health.READ_LEAN_BODY_MASS
android.permission.health.WRITE_LEAN_BODY_MASS |
MenstruationFlow |
android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION |
MenstruationPeriod |
android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION |
Nutrition |
android.permission.health.READ_NUTRITION
android.permission.health.WRITE_NUTRITION |
OvulationTest |
android.permission.health.READ_OVULATION_TEST
android.permission.health.WRITE_OVULATION_TEST |
OxygenSaturation |
android.permission.health.READ_OXYGEN_SATURATION
android.permission.health.WRITE_OXYGEN_SATURATION |
Power |
android.permission.health.READ_POWER
android.permission.health.WRITE_POWER |
RespiratoryRate |
android.permission.health.READ_RESPIRATORY_RATE
android.permission.health.WRITE_RESPIRATORY_RATE |
RestingHeartRate |
android.permission.health.READ_RESTING_HEART_RATE
android.permission.health.WRITE_RESTING_HEART_RATE |
SexualActivity |
android.permission.health.READ_SEXUAL_ACTIVITY
android.permission.health.WRITE_SEXUAL_ACTIVITY |
SleepSession |
android.permission.health.READ_SLEEP
android.permission.health.WRITE_SLEEP |
Speed |
android.permission.health.READ_SPEED
android.permission.health.WRITE_SPEED |
StepsCadence |
android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS |
Steps |
android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS |
TotalCaloriesBurned |
android.permission.health.READ_TOTAL_CALORIES_BURNED
android.permission.health.WRITE_TOTAL_CALORIES_BURNED |
Vo2Max |
android.permission.health.READ_VO2_MAX
android.permission.health.WRITE_VO2_MAX |
Weight |
android.permission.health.READ_WEIGHT
android.permission.health.WRITE_WEIGHT |
WheelchairPushes |
android.permission.health.READ_WHEELCHAIR_PUSHES
android.permission.health.WRITE_WHEELCHAIR_PUSHES |
1.0.0-alpha09 이하
레코드 클래스 유형 | 읽기 및 쓰기 권한 선언 |
---|---|
ActiveCaloriesBurned |
androidx.health.permission.ActiveCaloriesBurned.READ
androidx.health.permission.ActiveCaloriesBurned.WRITE |
BasalBodyTemperature |
androidx.health.permission.BasalBodyTemperature.READ
androidx.health.permission.BasalBodyTemperature.WRITE |
BasalMetabolicRate |
androidx.health.permission.BasalMetabolicRate.READ
androidx.health.permission.BasalMetabolicRate.WRITE |
BloodGlucose |
androidx.health.permission.BloodGlucose.READ
androidx.health.permission.BloodGlucose.WRITE |
BloodPressure |
androidx.health.permission.BloodPressure.READ
androidx.health.permission.BloodPressure.WRITE |
BodyFat |
androidx.health.permission.BodyFat.READ
androidx.health.permission.BodyFat.WRITE |
BodyTemperature |
androidx.health.permission.BodyTemperature.READ
androidx.health.permission.BodyTemperature.WRITE |
BodyWaterMass |
androidx.health.permission.BodyWaterMass.READ
androidx.health.permission.BodyWaterMass.WRITE |
BoneMass |
androidx.health.permission.BoneMass.READ
androidx.health.permission.BoneMass.WRITE |
CervicalMucus |
androidx.health.permission.CervicalMucus.READ
androidx.health.permission.CervicalMucus.WRITE |
CyclingPedalingCadence |
androidx.health.permission.CyclingPedalingCadence.READ
androidx.health.permission.CyclingPedalingCadence.WRITE |
Distance |
androidx.health.permission.Distance.READ
androidx.health.permission.Distance.WRITE |
ElevationGained |
androidx.health.permission.ElevationGained.READ
androidx.health.permission.ElevationGained.WRITE |
ExerciseSession |
androidx.health.permission.ExerciseSession.READ
androidx.health.permission.ExerciseSession.WRITE |
FloorsClimbed |
androidx.health.permission.FloorsClimbed.READ
androidx.health.permission.FloorsClimbed.WRITE |
HeartRate |
androidx.health.permission.HeartRate.READ
androidx.health.permission.HeartRate.WRITE |
HeartRateVariabilityRmssd |
androidx.health.permission.HeartRateVariabilityRmssd.READ
androidx.health.permission.HeartRateVariabilityRmssd.WRITE |
Height |
androidx.health.permission.Height.READ
androidx.health.permission.Height.WRITE |
Hydration |
androidx.health.permission.Hydration.READ
androidx.health.permission.Hydration.WRITE |
IntermenstrualBleeding |
androidx.health.permission.IntermenstrualBleeding.READ
androidx.health.permission.IntermenstrualBleeding.WRITE |
LeanBodyMass |
androidx.health.permission.LeanBodyMass.READ
androidx.health.permission.LeanBodyMass.WRITE |
MenstruationFlow |
androidx.health.permission.MenstruationFlow.READ
androidx.health.permission.MenstruationFlow.WRITE |
Nutrition |
androidx.health.permission.Nutrition.READ
androidx.health.permission.Nutrition.WRITE |
OvulationTest |
androidx.health.permission.OvulationTest.READ
androidx.health.permission.OvulationTest.WRITE |
OxygenSaturation |
androidx.health.permission.OxygenSaturation.READ
androidx.health.permission.OxygenSaturation.WRITE |
Power |
androidx.health.permission.Power.READ
androidx.health.permission.Power.WRITE |
RespiratoryRate |
androidx.health.permission.RespiratoryRate.READ
androidx.health.permission.RespiratoryRate.WRITE |
RestingHeartRate |
androidx.health.permission.RestingHeartRate.READ
androidx.health.permission.RestingHeartRate.WRITE |
SexualActivity |
androidx.health.permission.SexualActivity.READ
androidx.health.permission.SexualActivity.WRITE |
SleepSession |
androidx.health.permission.SleepSession.READ
androidx.health.permission.SleepSession.WRITE |
Speed |
androidx.health.permission.Speed.READ
androidx.health.permission.Speed.WRITE |
StepsCadence |
androidx.health.permission.StepsCadence.READ
androidx.health.permission.StepsCadence.WRITE |
Steps |
androidx.health.permission.Steps.READ
androidx.health.permission.Steps.WRITE |
TotalCaloriesBurned |
androidx.health.permission.TotalCaloriesBurned.READ
androidx.health.permission.TotalCaloriesBurned.WRITE |
Vo2Max |
androidx.health.permission.Vo2Max.READ
androidx.health.permission.Vo2Max.WRITE |
Weight |
androidx.health.permission.Weight.READ
androidx.health.permission.Weight.WRITE |
WheelchairPushes |
androidx.health.permission.WheelchairPushes.READ
androidx.health.permission.WheelchairPushes.WRITE |
데이터 유형 및 권한 검토
데이터 유형과 권한을 계획했으므로 이제 개발하는 동안 이러한 속성을 사용하는 것이 좋습니다
Play 스토어에 앱을 업로드하기 전에 앱을 검토할 때는 다음 사항을 다시 한번 확인하세요. 앱에 필요한 데이터 유형 및 권한의 목록입니다. 이렇게 하면 정확하게 앱의 데이터 사용을 선언해야 합니다.
Play 스토어에 앱을 게시할 준비를 할 때 앱에서 제공하는 헬스 커넥트 데이터 유형에 대한 액세스를 선언합니다. 사용합니다 그렇지 않으면 앱이 실행될 때 오류 메시지가 표시될 수 있습니다. 헬스 커넥트 데이터 유형에 액세스할 수 없는 이유는 다음과 같습니다. 승인을 받아야 합니다.