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 V1 リリースには、次のものが含まれています。
- クライアント SDK: Health Platform API を使用するには、アプリにこの SDK を組み込みます。この SDK は、アプリの Gradle ビルドファイルに直接組み込むことができる Maven リポジトリです。
Health Platform をインストールする
次の手順に沿って Health Platform をインストールします。
次の例に示すように、アプリのルート build.gradle
ファイルで、リポジトリを追加します。
allprojects {
...
repositories {
...
google()
}
}
次の例に示すように、モジュールの build.gradle
ファイルに Health Platform SDK への依存関係を追加します。
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
は、アクティビティ セッション中の継続的な心拍数サンプルなどの高周波センサーデータに適しています。
上記の 3 つの RawData
クラスはそれぞれ DataType
の特定のサブクラス SampleData
、IntervalData
、SeriesData
に対応し、これらはそれぞれ SampleDataType
、IntervalDataType
、SeriesDataType
に対応します。
各 RawData
オブジェクトには、挿入時に Health Platform によって一意の識別子(UID)が割り当てられます。この UID を使用して、読み取り、更新、削除のリクエストで特定の RawData
オブジェクトを参照できます。
データ型
Health Platform には、健康とフィットネス用のアプリで一般的に使用される幅広いデータ型が含まれています。利用可能なデータ型で保存されたデータにより、ユーザーは過去の健康、フィットネス、ウェルネスのデータを包括的に把握し、日々の活動を分析できます。
各データ型はデータ形式で定義されます。次に例を示します。
- フィールド: データ型に関連付けられた特定のフィールドまたは汎用フィールド。たとえば、血中酸素飽和度(血中酸素ウェルネス)データ型には、タイトル、メモ、パーセンテージなどのフィールドがあります。
- 型: long、double、string、enum。
- 属性: 読み取り専用、必須、省略可、検証範囲。
データ型のリスト
使用可能なデータ型を把握すると、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
値の合計(1 日ごとの合計歩数など)。CountData
: 基盤となるRawData
オブジェクトの単純な件数(特定の週におけるアクティビティ セッション数など)。件数データは、サンプル、間隔、系列の各データ型で計算できます。
Health Platform API に接続する
HealthDataClient
は、Health Platform API へのエントリ ポイントです。
Health Platform に接続する手順は次のとおりです。
HealthDataService.getClient
を使用して、新しいHealthDataClient
インスタンスを作成します。- 次に、クライアント アプリは
requestPermissions (Set)
メソッドを使用してユーザーに権限をリクエストする必要があります。
HealthDataClient
は、基盤となるストレージ レイヤへの接続を自動的に管理し、すべてのプロセス間通信(IPC)を処理して、送信リクエストと受信レスポンスをシリアル化します。
あなたへのおすすめ
- 注: JavaScript がオフになっている場合はリンクテキストが表示されます
- アクティブ データとエクササイズ
- パッシブなデータの更新
- Wear OS で Jetpack Compose を使用する