วางแผนและตรวจสอบประเภทข้อมูล Health Connect

Health Connect จัดเก็บและจัดโครงสร้างข้อมูลสุขภาพและการออกกำลังกาย รวมถึงพิจารณาวิธีการวัดผลข้อมูลประเภทต่างๆ ด้วย ประเภทข้อมูลเหล่านี้รวมถึงการวัดอัตราการเต้นของหัวใจที่ดำเนินการทันที จํานวนก้าวที่วัดได้เมื่อเวลาผ่านไป และข้อมูลการนอนหลับที่วัดในเซสชัน

คุณควรทำความเข้าใจประเภทข้อมูลและสิทธิ์ที่ Health Connect มีให้ก่อน เพื่อวางแผนข้อกำหนดของแอป คุณจึงต้องตรวจสอบประเภทข้อมูลก่อนจึงจะกำหนดข้อกำหนดให้เสร็จสมบูรณ์ได้

หมวดหมู่ประเภทข้อมูล

Health Connect รองรับประเภทข้อมูลที่ใช้ในแอปสุขภาพและการออกกำลังกายส่วนใหญ่เพื่อให้มีความหลากหลายมากที่สุด Health Connect มีเป้าหมายที่จะนำเสนอมุมมองและพื้นที่เก็บข้อมูลสุขภาพและการออกกำลังกายที่ครอบคลุม ประเภทข้อมูลเหล่านี้จะแบ่งออกเป็นหมวดหมู่ต่อไปนี้

  • กิจกรรม: ข้อมูลนี้จะบันทึกกิจกรรมทั้งหมดที่ผู้ใช้ทํา ซึ่งอาจรวมถึงกิจกรรมเพื่อสุขภาพและความแข็งแรงสมบูรณ์ เช่น การวิ่งและการว่ายน้ำ
  • การวัดร่างกาย: ข้อมูลทั่วไปที่เกี่ยวข้องกับร่างกาย เช่น น้ำหนักของผู้ใช้และอัตราการเผาผลาญพื้นฐาน
  • การติดตามรอบเดือน: ฟีเจอร์นี้จะบันทึกรอบเดือนและจุดข้อมูลที่เกี่ยวข้อง เช่น ผลลัพธ์แบบ 2 ค่าของการทดสอบการตกไข่
  • โภชนาการ: ข้อมูลประเภทนี้บันทึกปริมาณน้ำที่ดื่มและโภชนาการ ค่าแรกแสดงปริมาณน้ำที่ผู้ใช้ดื่มในเครื่องดื่ม 1 แก้ว ส่วนหลังจะมีฟิลด์ที่ไม่บังคับ เช่น แคลอรี่ น้ำตาล และแม็กนีเซียม
  • การนอนหลับ: ข้อมูลนี้บันทึกข้อมูลเป็นช่วงๆ ที่เกี่ยวข้องกับระยะเวลาและประเภทการนอนหลับของผู้ใช้
  • ข้อมูลสำคัญ: ข้อมูลนี้จะบันทึกข้อมูลสำคัญเกี่ยวกับสุขภาพทั่วไปของผู้ใช้ ซึ่งรวมถึงข้อมูลต่างๆ เช่น อุณหภูมิของร่างกาย น้ำตาลกลูโคสในเลือด ความดันโลหิต และความอิ่มตัวของออกซิเจนในเลือด

รูปแบบประเภทข้อมูล

ประเภทข้อมูลใน Health Connect จะจัดเก็บไว้ในออบเจ็กต์ที่เป็นคลาสย่อยของ Record

ข้อมูลแต่ละประเภทจะมีฟิลด์ที่เชื่อมโยงซึ่งเป็นแบบทั่วไป เช่น time และ zoneOffset หรือเป็นแบบเฉพาะเจาะจง เช่น title, count และ percentage ฟิลด์บางฟิลด์ใช้ประเภทแบบง่าย เช่น long, double หรือสตริง ขณะที่บางฟิลด์ใช้ประเภทที่ซับซ้อน เช่น การแจกแจงและคลาส เช่น Instant และ ZoneOffset แอตทริบิวต์ของช่องเหล่านี้อาจเป็นแบบต้องระบุหรือไม่ต้องระบุก็ได้ แอตทริบิวต์บางรายการเป็นแบบอ่านอย่างเดียว และแอตทริบิวต์บางรายการจะจำกัดค่าให้อยู่ในช่วงหนึ่งๆ

ดูรายการประเภทข้อมูลและช่องทั้งหมดที่ใช้ได้ได้จากคลาสใน Jetpack

แอตทริบิวต์ข้อมูลเพิ่มเติม

ข้อมูลใน Health Connect API ยังมีแอตทริบิวต์ข้อมูลเมตาที่อธิบายไว้ในรายการต่อไปนี้ด้วย

  • รหัส Health Connect: ข้อมูลแต่ละจุดจะได้รับการกำหนดตัวระบุที่ไม่ซ้ำกัน (UID) เมื่อสร้าง ซึ่งมีประโยชน์สําหรับการดําเนินการอ่านและเขียนมาตรฐาน ดูรายละเอียดเพิ่มเติมได้ที่รหัส Health Connect
  • เวลาที่แก้ไขล่าสุด: ข้อมูลนี้จะระบุการประทับเวลาที่อินสแตนซ์ล่าสุดที่ระเบียนได้รับการอัปเดต ระบบจะสร้างรหัสนี้โดยอัตโนมัติเมื่อสร้างระเบียนครั้งแรกหรือทุกครั้งที่มีการอัปเดต
  • แหล่งที่มาของข้อมูล: Health Connect จะจัดเก็บข้อมูลเกี่ยวกับแอปที่เป็นแหล่งที่มาของข้อมูล ซึ่งมีชื่อแพ็กเกจของต้นทางนั้น ซึ่งระบบจะเพิ่มโดยอัตโนมัติเมื่อสร้าง
  • อุปกรณ์: Health Connect จะจัดเก็บข้อมูลเกี่ยวกับอุปกรณ์ที่เป็นแหล่งที่มาของข้อมูล ซึ่งจะมีข้อมูลผู้ผลิตและรุ่นของอุปกรณ์นั้นๆ ซึ่งคุณเป็นผู้ป้อนค่าด้วยตนเอง
  • รหัสไคลเอ็นต์: Health Connect มีรหัสไคลเอ็นต์เพื่อให้แอปไคลเอ็นต์อ้างอิงข้อมูลโดยใช้รหัสของตนเอง ซึ่งช่วยในการแก้ไขข้อขัดแย้งและทำให้ซิงค์ได้ง่ายขึ้น ซึ่งต้องระบุลงในระเบียนด้วยตนเอง
  • เวอร์ชันระเบียนลูกค้า: นอกจากรหัสลูกค้าแล้ว Health Connect ยังมีการกำหนดเวอร์ชันเพื่อช่วยติดตามการเปลี่ยนแปลงระหว่างการซิงค์ข้อมูล ข้อมูลนี้จะต้องป้อนลงในระเบียนด้วยตนเอง
  • วิธีการบันทึก: Health Connect ช่วยให้คุณเข้าใจวิธีการบันทึกข้อมูล ซึ่งรวมถึงแอปที่บันทึกข้อมูลแบบพาสซีฟ (โดยอัตโนมัติ) และผู้ใช้ที่บันทึกข้อมูลแบบแอ็กทีฟหรือด้วยตนเอง

รหัส Health Connect

Health Connect จะกำหนดตัวระบุที่ไม่ซ้ำกัน (UID) ให้กับออบเจ็กต์ข้อมูลที่แทรกใหม่ ซึ่งจะระบุออบเจ็กต์ข้อมูลและแยกความแตกต่างจากออบเจ็กต์อื่นๆ รหัส Health Connect มีประโยชน์ในคำขออ่านหรือเขียน รหัส Health Connect ไม่เหมือนกับรหัสไคลเอ็นต์ แอปไคลเอ็นต์จะกำหนดรหัสไคลเอ็นต์ ส่วน Health Connect จะกำหนดรหัส Health Connect เท่านั้น

โปรดคำนึงถึงหมายเหตุต่อไปนี้เมื่อใช้รหัส Health Connect

  • เซสชันมีรหัส Health Connect รหัสเดียว แต่ข้อมูลภายในเซสชันจะมีรหัส Health Connect เป็นของตัวเอง
  • รหัส Health Connect ไม่ได้เชื่อมโยงหรือเกี่ยวข้องกับการประทับเวลา
  • กรณีการใช้งานบางอย่างอาจกำหนดให้ต้องจัดเก็บรหัส Health Connect ที่เฉพาะเจาะจงในระหว่างเวิร์กโฟลว์ เช่น ต้องใช้รหัสที่เฉพาะเจาะจงเพื่อดึงข้อมูลและแสดงข้อมูลป้อนซึ่งผู้ใช้เพิ่งบันทึกไว้

เวลาใน Health Connect

ข้อมูลทั้งหมดที่เขียนลงใน Health Connect ต้องระบุข้อมูลเขตเวลาออฟเซ็ต การระบุเขตเวลาออฟเซ็ตช่วยให้แอปอ่านข้อมูลเพื่อแสดงเป็นเวลามาตรฐานได้ เวลาพลเรือนคือเวลาท้องถิ่นที่เกี่ยวข้องกับผู้ใช้ แต่ไม่จำเป็นต้องเป็นเวลาสากลเชิงพิกัด (UTC)

ในบางกรณีที่เกิดขึ้นไม่บ่อยนัก ระบบอาจไม่มีเวลาออฟเซ็ตของเขต เมื่อเกิดกรณีนี้ขึ้นใน Android 14 (API ระดับ 34) ทาง Health Connect จะตั้งค่าเขตเวลาออฟเซ็ตตามเขตเวลาเริ่มต้นของระบบของอุปกรณ์ ใน Android 13 และเวอร์ชันที่ต่ำกว่า (API ระดับ 33 และต่ำกว่า) คุณสามารถเขียนลงใน Health Connect โดยไม่ต้องระบุข้อมูลการเลื่อนเขตเวลาได้ แต่ควรหลีกเลี่ยงหากเป็นไปได้

การตั้งค่าเวลาและเขตเวลา

การระบุข้อมูลเขตเวลาออฟเซ็ตขณะเขียนข้อมูลจะให้ข้อมูลเขตเวลาเมื่ออ่านข้อมูลใน Health Connect อย่างไรก็ตาม การดำเนินการนี้อาจไม่สําเร็จในบางสถานการณ์ เช่น เมื่อไม่ได้ระบุออฟเซ็ตโซน แอปของคุณต้องพร้อมรับมือกับข้อมูลทั้ง 2 ประเภทในลักษณะที่เหมาะสมกับสถานการณ์เฉพาะของคุณ

สิทธิ์

แอปต้องประกาศสิทธิ์ในไฟล์ Manifest ก่อนจึงจะขอสิทธิ์ได้ ดูการแมปประเภทข้อมูลและสิทธิ์ทั้งหมดได้ในตารางต่อไปนี้

สำหรับ 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
ระยะทาง 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
ความสูง android.permission.health.READ_HEIGHT
android.permission.health.WRITE_HEIGHT
การดื่มน้ำ 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
โภชนาการ 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
PlannedExercise android.permission.health.READ_PLANNED_EXERCISE
android.permission.health.WRITE_PLANNED_EXERCISE
อำนาจ 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
SkinTemperature androidx.health.permission.SkinTemperature.READ
androidx.health.permission.SkinTemperature.WRITE
SleepSession android.permission.health.READ_SLEEP
android.permission.health.WRITE_SLEEP
ความเร็ว android.permission.health.READ_SPEED
android.permission.health.WRITE_SPEED
StepsCadence android.permission.health.READ_STEPS
android.permission.health.WRITE_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
น้ำหนัก 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
ระยะทาง 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
ความสูง androidx.health.permission.Height.READ
androidx.health.permission.Height.WRITE
การดื่มน้ำ 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
โภชนาการ 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
อำนาจ 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
ความเร็ว androidx.health.permission.Speed.READ
androidx.health.permission.Speed.WRITE
StepsCadence androidx.health.permission.StepsCadence.READ
androidx.health.permission.StepsCadence.WRITE
ขั้นตอน 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
น้ำหนัก androidx.health.permission.Weight.READ
androidx.health.permission.Weight.WRITE
WheelchairPushes androidx.health.permission.WheelchairPushes.READ
androidx.health.permission.WheelchairPushes.WRITE

ตรวจสอบประเภทข้อมูลและสิทธิ์

เมื่อวางแผนประเภทข้อมูลและสิทธิ์แล้ว คุณจะใช้ข้อมูลดังกล่าวได้ในระหว่างการพัฒนา

เมื่อตรวจสอบแอปก่อนอัปโหลดไปยัง Play Store ให้ตรวจสอบรายการประเภทข้อมูลและสิทธิ์ที่จําเป็นสำหรับแอปอีกครั้ง ซึ่งจะช่วยให้คุณประกาศการใช้ข้อมูลของแอปได้อย่างถูกต้อง

เมื่อเตรียมเผยแพร่แอปใน Play Store ให้ประกาศการเข้าถึงประเภทข้อมูล Health Connect ที่แอปของคุณใช้ มิเช่นนั้น ผู้ใช้อาจเห็นข้อความแสดงข้อผิดพลาดที่ระบุว่าแอปของคุณเข้าถึงประเภทข้อมูล Health Connect ไม่ได้เนื่องจากต้องได้รับอนุมัติพิเศษ