Health Platform API 是一個 Android API,可讓開發人員透過單一介面讀取、寫入及分享使用者的歷來健康、保健和運動資料。使用者可以透過 Health Platform 控管自己的資料,掌控各應用程式對於不同類型資料的讀取或寫入權限。Health Platform API 資料類型包括身高、心率等。
Health Platform API 提供儲存和共用機制,讓使用者可選取哪些應用程式可以存取及顯示個人的健康、運動和保健資料。如此一來,應用程式開發人員就能更全面地掌握使用者的健康狀態,讓使用者更有效地監控資料。
Health Platform API 軟體開發人員套件提供所有必要功能,可讓 Android 應用程式開發人員存取特定 Samsung 裝置上的使用者健康與保健資料,並允許應用程式執行大量作業,例如插入、刪除及讀取資料。
開始使用
使用 Health Platform 時,請留意下列事項:
- 用戶端應用程式必須向使用者取得適當的讀取或寫入權限。
- 使用者隨時可以拒絕授予權限或撤銷權限。
- Health Platform API 僅支援特定 Samsung 裝置。
HealthDataClient
是 Health Platform 的用戶端,也是 Health Platform 的進入點。
下圖顯示開發人員必須採取的整合步驟:
版本檔案
Health Platform 第 1 版包含下列內容:
- 用戶端 SDK:在應用程式中加入這個 SDK,以便使用 Health Platform API。SDK 是一個 Maven 存放區,您可以直接納入應用程式 Gradle 建構檔案中。
安裝 Health Platform
如要安裝 Health Platform,請按照下列步驟操作:
在應用程式的根層級 build.gradle
檔案中新增存放區,如以下範例所示:
allprojects {
. . .
repositories {
. . .
google()
}
}
在模組的 build.gradle
檔案中,新增 Health Platform SDK 的依附元件,如以下範例所示:
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 會儲存及建構健康與健身的相關資料。此外,也會考量不同類型資料測量方式之間的核心差異。例如,心跳速率會立即測量,但步數測量須經過一段時間。
以下說明 Health Platform 的核心物件,以及其間的差異:
RawData
:測量資料和資料記錄。DataType
:常用健康與健身資料類型 (例如心率、體脂肪或體溫),以及其格式 (例如欄位、唯讀或選用) 的說明器。SampleData
:RawData
物件能即時測量,例如心率、血壓或跑步速度等資訊。IntervalData
:RawData
物件,為一段時間內的累計測量資料,例如行走的步數、移動的距離或卡路里燃燒量。SeriesData
:RawData
物件用於封裝一段時間內的一系列測量結果。SeriesData
特別適合用於高頻率感應器資料,例如活動期間的連續心率樣本。
三個 RawData
類別分別對應了 DataType
的特定子類別:SampleData
、IntervalData
和 SeriesData
分別對應 SampleDataType
、IntervalDataType
和 SeriesDataType
。
每個 RawData
物件在插入時都會由 Health Platform 指派一個專屬 ID (UID)。您可以使用這個 UID 在讀取、更新或刪除要求中參照特定 RawData
物件。
資料類型
Health Platform 包含多種在健康和健身應用程式裡常用的資料類型。使用者可透過以可用資料類型儲存的資料,全面瞭解自己的健康、健身和保健資料紀錄,深入分析自己的日常活動。
每個資料類型都是以資料格式定義,包括:
- 欄位:與資料類型相關的特定或一般欄位。例如,血液血氧濃度 (SpO2) 資料類型具有「標題」、「附註」和「百分比」等欄位。
- 類型:long、double、字串或列舉。
- 屬性:唯讀、必要、選用或驗證範圍。
資料類型清單
瞭解可用資料類型,充分運用 Health Platform。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 Platform 提供的標準資料函式組合。這個平台提供處理原始資料的標準插入、更新和刪除函式。
讀取 AggregatedData
平台可讓用戶端針對下列類型的 AggregatedData
套用匯總函式:
StatisticalData
:提供SampleData
或SeriesData
組合中的平均值、最小值或最大值,例如活動時段中的最小心率和最大心率。CumulativeData
:IntervalData
值的加總,例如每日間隔的總步數。CountData
:提供基礎RawData
物件數量的簡單計數,例如某一週的活動時段數。系統會針對樣本、間隔和系列資料類型計算資料。
連線至 Health Platform API
HealthDataClient
是 Health Platform API 的進入點。
下列步驟說明如何連線至 Health Platform:
- 使用
HealthDataService.getClient
建立新的HealthDataClient
例項。 - 接著,用戶端應用程式必須使用
requestPermissions (Set)
方法要求使用者授予權限。
HealthDataClient
會自動管理自身與基礎儲存空間層的連線,並處理傳出要求與傳入回應的所有處理序間通訊 (IPC) 和序列化作業。
為您推薦
- 注意:系統會在 JavaScript 關閉時顯示連結文字
- 活動資料與運動
- 被動資料更新
- 在 Wear OS 上使用 Jetpack Compose