API ของแพลตฟอร์มสุขภาพ

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

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

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

เริ่มต้นใช้งาน

โปรดคำนึงถึงสิ่งต่อไปนี้เมื่อใช้แพลตฟอร์มสุขภาพ

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

รูปภาพต่อไปนี้แสดงขั้นตอนการผสานรวมที่จำเป็นซึ่งนักพัฒนาแอปต้องทำตาม

ขั้นตอนการผสานรวม รวมถึงการตั้งค่า SDK, การเข้าถึงและสิทธิ์ และการดำเนินการ CRUD
รูปที่ 1 ขั้นตอนการผสานรวมแพลตฟอร์มสุขภาพ

ไฟล์รุ่น

การเปิดตัวแพลตฟอร์มสุขภาพ V1 มีสิ่งต่อไปนี้

  • Client SDK: รวม SDK นี้ไว้ในแอปพลิเคชันเพื่อใช้ Health Platform API SDK เป็นที่เก็บ Maven ที่คุณรวมไว้ใน ไฟล์บิลด์ Gradle ของแอปพลิเคชันได้โดยตรง

ติดตั้งแพลตฟอร์มสุขภาพ

ติดตั้งแพลตฟอร์มสุขภาพโดยทำตามขั้นตอนต่อไปนี้

ในไฟล์ build.gradle ของรูทของแอป ให้เพิ่มที่เก็บตามที่แสดงใน ตัวอย่างต่อไปนี้

allprojects {
    . . .
    repositories {
        . . .
        google()
    }
}

เพิ่มทรัพยากร Dependency ใน 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 ตามลำดับ

Health Platform จะกำหนดตัวระบุที่ไม่ซ้ำกัน (UID) ให้กับออบเจ็กต์ RawData แต่ละรายการเมื่อแทรก คุณสามารถใช้ UID นี้เพื่ออ้างอิงRawData ออบเจ็กต์ที่เฉพาะเจาะจงในคำขออ่าน อัปเดต หรือลบ

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

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

ข้อมูลแต่ละประเภทจะกำหนดโดยรูปแบบข้อมูล ซึ่งรวมถึงข้อมูลต่อไปนี้

  • ฟิลด์: ฟิลด์เฉพาะหรือทั่วไปที่เชื่อมโยงกับประเภทข้อมูล ตัวอย่างเช่น ประเภทข้อมูลความอิ่มตัวของออกซิเจนในเลือด (SpO2) มีฟิลด์ต่างๆ เช่น ชื่อ หมายเหตุ และเปอร์เซ็นต์
  • ประเภท: long, double, string หรือ enum
  • แอตทริบิวต์: อ่านอย่างเดียว, ต้องระบุ, ไม่บังคับ หรือช่วงการตรวจสอบ

รายการประเภทข้อมูล

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

SampleData ประเภท

ตารางที่ 1: ประเภท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 ประเภท

ตารางที่ 3: ประเภท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 ต้องระบุ
เพื่อเพิ่มประสิทธิภาพและพื้นที่เก็บข้อมูล

ฟังก์ชันสำหรับนักพัฒนาแอป

ต่อไปนี้คือชุดฟังก์ชันข้อมูลมาตรฐานที่พร้อมใช้งานภายใน แพลตฟอร์มสุขภาพ แพลตฟอร์มนี้มีฟังก์ชันแทรก อัปเดต และลบมาตรฐาน สำหรับข้อมูลดิบ

อ่าน AggregatedData

แพลตฟอร์มนี้ช่วยให้ไคลเอ็นต์ใช้ฟังก์ชันการรวมข้อมูลกับAggregatedDataประเภทต่อไปนี้ได้

  • StatisticalData: ค่าเฉลี่ย ค่าต่ำสุด หรือค่าสูงสุดใน ชุดของ SampleData หรือ SeriesData เช่น อัตราการเต้นของหัวใจต่ำสุดและสูงสุด ในเซสชันกิจกรรม
  • CumulativeData: ผลรวมของค่า IntervalData เช่น จำนวนก้าวทั้งหมดภายในช่วงเวลารายวัน
  • CountData: การนับจํานวนRawData ออบเจ็กต์พื้นฐานอย่างง่าย เช่น จํานวนเซสชันกิจกรรมในสัปดาห์ที่กําหนด ระบบจะคำนวณข้อมูลการนับสำหรับประเภทข้อมูลตัวอย่าง ช่วงเวลา และอนุกรมได้

เชื่อมต่อกับ Health Platform API

HealthDataClient คือจุดแรกเข้าของ Health Platform API

ขั้นตอนต่อไปนี้จะอธิบายวิธีเชื่อมต่อกับ Health Platform

  1. ใช้ HealthDataService.getClient เพื่อสร้างอินสแตนซ์ HealthDataClient ใหม่
  2. จากนั้นแอปไคลเอ็นต์ต้องขอสิทธิ์จากผู้ใช้โดยใช้เมธอด requestPermissions (Set)

HealthDataClientจะจัดการการเชื่อมต่อกับเลเยอร์พื้นที่เก็บข้อมูลพื้นฐานโดยอัตโนมัติ รวมถึงจัดการการสื่อสารระหว่างกระบวนการ (IPC) และ การซีเรียลไลซ์คำขอขาออกและการตอบกลับขาเข้าทั้งหมด