Health Platform API เป็น Android API ที่ให้อินเทอร์เฟซเดียวแก่นักพัฒนาแอปสําหรับการอ่าน เขียน และแชร์ข้อมูลสุขภาพ คุณภาพชีวิต และการออกกำลังกายที่ผ่านมาของผู้ใช้ เมื่อใช้ Health Platform ผู้ใช้จะควบคุมข้อมูลของตนเองได้ ผู้ใช้สามารถควบคุมได้ว่าแอปใดบ้างที่มีสิทธิ์อ่านหรือเขียนข้อมูลประเภทต่างๆ สุขภาพ ประเภทข้อมูลของ Platform API ได้แก่ ความสูง อัตราการเต้นของหัวใจ และอื่นๆ
Health Platform API มอบกลไกการจัดเก็บและการแชร์แก่ผู้ใช้ ซึ่งช่วยให้ผู้ใช้เลือกแอปที่เข้าถึงและแสดงข้อมูลส่วนบุคคลด้านสุขภาพ การออกกำลังกาย และคุณภาพชีวิตได้ ซึ่งจะช่วยให้นักพัฒนาแอปแสดงมุมมองที่สมบูรณ์ยิ่งขึ้นเกี่ยวกับประสิทธิภาพของผู้ใช้ และช่วยให้ผู้ใช้ตรวจสอบข้อมูลของตนได้อย่างมีประสิทธิภาพมากขึ้น
ชุดเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ Health Platform API มอบทุกสิ่งที่นักพัฒนาแอป Android ต้องการเพื่อมอบสิทธิ์เข้าถึงข้อมูลสุขภาพและความแข็งแรงสมบูรณ์ของผู้ใช้บนอุปกรณ์ Samsung บางรุ่น และช่วยให้แอปดำเนินการแบบเป็นกลุ่มได้ เช่น แทรก ลบ และอ่านข้อมูล
เริ่มต้นใช้งาน
สิ่งที่ควรทราบเมื่อใช้แพลตฟอร์มสุขภาพมีดังนี้
- แอปไคลเอ็นต์ต้องได้รับสิทธิ์แบบละเอียดสำหรับการเข้าถึงระดับอ่านหรือเขียนจากผู้ใช้
- ผู้ใช้สามารถปฏิเสธหรือเพิกถอนสิทธิ์ได้ทุกเมื่อหลังจากนั้น
- Health Platform API รองรับเฉพาะอุปกรณ์ Samsung บางรุ่นเท่านั้น
HealthDataClient
เป็นไคลเอ็นต์สำหรับแพลตฟอร์มสุขภาพและเป็นจุดแรกเข้าของแพลตฟอร์มสุขภาพ
รูปภาพต่อไปนี้แสดงขั้นตอนการผสานรวมที่จําเป็นซึ่งนักพัฒนาแอปต้องทําตาม

ไฟล์รุ่น
แพลตฟอร์มสุขภาพรุ่น V1 มีสิ่งต่อไปนี้
- SDK ของไคลเอ็นต์: รวม SDK นี้ไว้ในแอปพลิเคชันเพื่อใช้ API ของแพลตฟอร์มสุขภาพ SDK เป็นที่เก็บ Maven ที่คุณรวมไว้ในไฟล์บิลด์ Gradle ของแอปพลิเคชันโดยตรงได้
ติดตั้งแพลตฟอร์มสุขภาพ
ติดตั้งแพลตฟอร์มสุขภาพโดยทำตามขั้นตอนต่อไปนี้
ในไฟล์ build.gradle
รูทของแอป ให้เพิ่มที่เก็บตามที่แสดงในตัวอย่างต่อไปนี้
allprojects {
. . .
repositories {
. . .
google()
}
}
เพิ่มการพึ่งพา Health Platform SDK ในไฟล์ build.gradle
ของโมดูล ดังที่แสดงในตัวอย่างต่อไปนี้
Kotlin
dependencies { . implementation("com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01") }
Groovy
dependencies { . implementation 'com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01' }
ข้อมูล
Health Platform จัดเก็บและจัดโครงสร้างข้อมูลสุขภาพและการออกกำลังกาย รวมถึงพิจารณาถึงความแตกต่างหลักๆ ระหว่างวิธีการวัดข้อมูลประเภทต่างๆ ด้วย เช่น การวัดอัตราการเต้นของหัวใจจะวัดทันที แต่การนับก้าวจะวัดในช่วงเวลาหนึ่ง
ต่อไปนี้เป็นภาพรวมของออบเจ็กต์ส่วนกลางในแพลตฟอร์มสุขภาพและความแตกต่าง
RawData
: การวัดและบันทึกข้อมูลDataType
: ตัวระบุสำหรับข้อมูลสุขภาพและความแข็งแรงสมบูรณ์ประเภทต่างๆ เช่น อัตราการเต้นของหัวใจ ไขมันในร่างกาย หรืออุณหภูมิของร่างกาย และรูปแบบของข้อมูล เช่น ฟิลด์ เป็นแบบอ่านอย่างเดียว หรือเป็นแบบไม่บังคับSampleData
: ออบเจ็กต์RawData
เป็นการวัดผลแบบทันที เช่น อัตราการเต้นของหัวใจ ความดันโลหิต หรือความเร็วในการวิ่งIntervalData
: ออบเจ็กต์RawData
ที่เป็นค่าการวัดผลสะสมในช่วงระยะเวลาหนึ่ง เช่น จํานวนก้าว ระยะทางที่เดิน หรือแคลอรี่ที่เผาผลาญSeriesData
: ออบเจ็กต์RawData
ที่รวมชุดค่าวัดในช่วงระยะเวลาหนึ่งSeriesData
เหมาะอย่างยิ่งสำหรับข้อมูลเซ็นเซอร์ความถี่สูง เช่น ตัวอย่างอัตราการเต้นของหัวใจอย่างต่อเนื่องระหว่างเซสชันกิจกรรม
คลาส RawData
ทั้ง 3 คลาสจะสอดคล้องกับคลาสย่อยที่เฉพาะเจาะจงของ DataType
โดย SampleData
, IntervalData
และ SeriesData
จะสอดคล้องกับ SampleDataType
, IntervalDataType
และ SeriesDataType
ตามลำดับ
เมื่อแทรกออบเจ็กต์ RawData
แต่ละรายการ Health Platform จะกำหนดตัวระบุที่ไม่ซ้ำกัน (UID) ให้กับออบเจ็กต์นั้น คุณสามารถใช้ UID นี้เพื่ออ้างอิงRawData
ออบเจ็กต์ที่เฉพาะเจาะจงในคำขออ่าน อัปเดต หรือลบ
ประเภทข้อมูล
แพลตฟอร์มสุขภาพประกอบด้วยชุดข้อมูลประเภทต่างๆ ที่ใช้กันโดยทั่วไปในแอปสุขภาพและการออกกำลังกาย ข้อมูลที่จัดเก็บด้วยประเภทข้อมูลที่มีอยู่จะช่วยให้ผู้ใช้เห็นภาพรวมที่ครอบคลุมของข้อมูลสุขภาพ การออกกำลังกาย และความแข็งแรงสมบูรณ์ที่ผ่านมา ซึ่งจะให้ข้อมูลเชิงลึกเกี่ยวกับกิจกรรมในแต่ละวัน
ประเภทข้อมูลแต่ละประเภทจะกำหนดโดยรูปแบบข้อมูล ซึ่งได้แก่
- ช่อง: ช่องเฉพาะหรือทั่วไปที่เชื่อมโยงกับประเภทข้อมูล เช่น ประเภทข้อมูลความอิ่มตัวของออกซิเจนในเลือด (SpO2) มีช่องต่างๆ เช่น ชื่อ หมายเหตุ และเปอร์เซ็นต์
- ประเภท: long, double, string หรือ enum
- แอตทริบิวต์: โปรดระบุค่าที่อ่านอย่างเดียว ต้องระบุ ไม่บังคับ หรือช่วงการตรวจสอบ
รายการประเภทข้อมูล
ใช้ประโยชน์สูงสุดจากแพลตฟอร์มสุขภาพด้วยการทำความเข้าใจประเภทข้อมูลที่มี Health Platform รองรับประเภทข้อมูลที่แสดงในตารางต่อไปนี้ ระบบจะจัดระเบียบประเภทข้อมูลตามรูปแบบของข้อมูลนั้นๆ ซึ่งได้แก่ ตัวอย่าง ช่วงเวลา หรืออนุกรม
SampleData
ประเภท
DataType.BasalMetabolicRateDataType |
BASAL_METABOLIC_RATE |
ต้องระบุ |
DataType.BloodGlucoseDataType |
BLOOD_GLUCOSE |
ต้องระบุและไม่บังคับ |
DataType.BloodPressureDataType |
BLOOD_PRESSURE |
ต้องระบุและไม่บังคับ |
DataType.BodyFatDataType |
BODY_FAT |
ต้องระบุ |
DataType.BodyTemperatureDataType |
BODY_TEMPERATURE |
ต้องระบุและไม่บังคับ |
DataType.BoneMassDataType |
BONE_MASS |
ต้องระบุ |
DataType.CervicalMucusDataType |
CERVICAL_MUCUS |
ไม่บังคับ |
DataType.CervicalPositionDataType |
CERVICAL_POSITION |
ไม่บังคับ |
DataType.CyclingPedalingCadenceDataType |
CYCLING_PEDALING_CADENCE |
ต้องระบุ |
DataType.DateOfBirthDataType |
DATE_OF_BIRTH |
อ่านอย่างเดียว |
DataType.GenderDataType |
GENDER |
อ่านอย่างเดียว |
DataType.HeartRateDataType |
HEART_RATE |
ต้องระบุ |
DataType.HeightDataType |
HEIGHT |
ต้องระบุ |
DataType.HipCircumferenceDataType |
HIP_CIRCUMFERENCE |
ต้องระบุ |
DataType.HrvDifferentialIndexDataType |
HRV_DIFFERENTIAL_INDEX |
ต้องระบุ |
DataType.HrvRmssdDataType |
HRV_RMSSD |
ต้องระบุ |
DataType.HrvSDataType |
HRV_S |
ต้องระบุ |
DataType.HrvSd2DataType |
HRV_SD2 |
ต้องระบุ |
DataType.HrvSdannDataType |
HRV_SDANN |
ต้องระบุ |
DataType.HrvSdnnDataType |
HRV_SDNN |
ต้องระบุ |
DataType.HrvSdnnIndexDataType |
HRV_SDNN_INDEX |
ต้องระบุ |
DataType.HrvSdnnIndexDataType |
HRV_SDNN_INDEX |
ต้องระบุ |
DataType.HrvSdsdDataType |
HRV_SDSD |
ต้องระบุ |
DataType.HrvTinnDataType |
HRV_TINN |
ต้องระบุ |
DataType.LeanBodyMassDataType |
LEAN_BODY_MASS |
ต้องระบุ |
DataType.LocationDataType |
LOCATION |
ต้องระบุ |
DataType.MenstruationDataType |
MENSTRUATION |
ไม่บังคับ |
DataType.OvulationTestDataType |
OVULATION_TEST |
ต้องระบุ |
DataType.OxygenSaturationDataType |
OXYGEN_SATURATION |
ต้องระบุ |
DataType.PaceDataType |
PACE |
ต้องระบุ |
DataType.PowerDataType |
POWER |
ต้องระบุ |
DataType.RespiratoryRateDataType |
RESPIRATORY_RATE |
ต้องระบุ |
DataType.RestingHeartRateDataType |
RESTING_HEART_RATE |
ต้องระบุ |
DataType.SexualActivityDataType |
SEXUAL_ACTIVITY |
ต้องระบุ |
DataType.SpeedDataType |
SPEED |
ต้องระบุ |
DataType.StepsCadenceDataType |
STEPS_CADENCE |
ต้องระบุ |
DataType.Vo2MaxDataType |
VO2_MAX |
ต้องระบุและไม่บังคับ |
DataType.WaistCircumferenceDataType |
WAIST_CIRCUMFERENCE |
ต้องระบุ |
DataType.WeightDataType |
WEIGHT |
ต้องระบุ |
IntervalData
ประเภท
DataType.ActiveEnergyDataType |
ACTIVE_ENERGY_BURNED |
ต้องระบุ |
DataType.ActiveTimeDataType |
ACTIVE_TIME |
อ่านอย่างเดียว |
DataType.ActivityEventDataType |
ACTIVITY_EVENT |
ต้องระบุ |
DataType.ActivityLapDataType |
ACTIVITY_LAP |
ไม่บังคับ |
DataType.ActivitySessionDataType |
ACTIVITY_SESSION |
ต้องระบุ |
DataType.BasalEnergyDataType |
BASAL_ENERGY_BURNED |
อ่านอย่างเดียว |
DataType.DistanceDataType |
DISTANCE |
ต้องระบุ |
DataType.ElevationGainedDataType |
ELEVATION_GAINED |
ต้องระบุ |
DataType.FloorsClimbedDataType |
FLOORS_CLIMBED |
ต้องระบุ |
DataType.HydrationDataType |
HYDRATION |
ต้องระบุ |
DataType.NutritionDataType |
NUTRITION |
ไม่บังคับ |
DataType.RepetitionsDataType |
REPETITIONS |
ต้องระบุ |
DataType.SleepSessionDataType |
SLEEP_SESSION |
ไม่บังคับ |
DataType.SleepStageDataType |
SLEEP_STAGE |
ต้องระบุ |
DataType.StepsDataType |
STEPS |
ต้องระบุ |
DataType.SwimmingStrokesDataType |
SWIMMING_STROKES |
ต้องระบุและไม่บังคับ |
DataType.TotalEnergyDataType |
TOTAL_ENERGY_BURNED |
อ่านอย่างเดียว |
SeriesData
ประเภท
DataType.CyclingPedalingCadenceSeriesDataType |
CYCLING_PEDALING_CADENCE |
ต้องระบุ |
DataType.HeartRateSeriesDataType |
HEART_RATE |
ต้องระบุ |
DataType.LocationSeriesDataType |
LOCATION |
ต้องระบุ |
DataType.PaceSeriesDataType |
PACE |
ต้องระบุ |
DataType.PowerSeriesDataType |
POWER |
ต้องระบุ |
DataType.SpeedSeriesDataType |
SPEED |
ต้องระบุ |
DataType.StepsCadenceSeriesDataType |
STEPS_CADENCE |
ต้องระบุ |
ฟังก์ชันสำหรับนักพัฒนาแอป
ต่อไปนี้อธิบายชุดฟังก์ชันข้อมูลมาตรฐานที่มีให้ใช้งานในแพลตฟอร์ม Health แพลตฟอร์มมีฟังก์ชันแทรก อัปเดต และลบมาตรฐานสําหรับข้อมูลดิบ
อ่าน AggregatedData
แพลตฟอร์มนี้ช่วยให้ไคลเอ็นต์ใช้ฟังก์ชันการรวมข้อมูลกับAggregatedData
ประเภทต่อไปนี้ได้
StatisticalData
: ค่าเฉลี่ย ค่าต่ำสุด หรือค่าสูงสุดในชุดSampleData
หรือSeriesData
เช่น อัตราการเต้นของหัวใจต่ำสุดและสูงสุดระหว่างเซสชันกิจกรรมCumulativeData
: ผลรวมของค่าIntervalData
เช่น ยอดก้าวทั้งหมดภายในช่วงเวลาของวันCountData
: จํานวนRawData
ออบเจ็กต์พื้นฐาน เช่น จํานวนเซสชันกิจกรรมในสัปดาห์หนึ่งๆ ระบบจะคํานวณข้อมูลจํานวนสำหรับข้อมูลประเภทตัวอย่าง ช่วงเวลา และอนุกรม
เชื่อมต่อกับ Health Platform API
HealthDataClient
คือจุดแรกเข้าของ Health Platform API
ขั้นตอนต่อไปนี้จะอธิบายวิธีเชื่อมต่อกับแพลตฟอร์มสุขภาพ
- ใช้
HealthDataService.getClient
เพื่อสร้างอินสแตนซ์HealthDataClient
ใหม่ - จากนั้นแอปไคลเอ็นต์ต้องขอสิทธิ์จากผู้ใช้โดยใช้เมธอด
requestPermissions (Set)
HealthDataClient
จะจัดการการเชื่อมต่อกับเลเยอร์พื้นที่เก็บข้อมูลที่เกี่ยวข้องโดยอัตโนมัติ รวมถึงจัดการการสื่อสารระหว่างกระบวนการ (IPC) และการแปลงเป็นอนุกรมของคำขอขาออกและคำตอบขาเข้าทั้งหมด
แนะนำสำหรับคุณ
- หมายเหตุ: ข้อความลิงก์จะแสดงเมื่อ JavaScript ปิดอยู่
- ข้อมูลและแบบฝึกหัดที่ใช้งานอยู่
- การอัปเดตข้อมูลแบบพาสซีฟ
- ใช้ Jetpack Compose ใน Wear OS