Health Platform API — это API для Android, предоставляющий разработчикам единый интерфейс для чтения, записи и обмена историческими данными о здоровье, самочувствии и физической форме пользователя. С Health Platform пользователи могут контролировать свои данные. Пользователи сами определяют, какие приложения имеют доступ к чтению или записи различных типов данных. API Health Platform предлагает такие типы данных, как рост, пульс и другие.
API Health Platform предоставляет пользователям механизм хранения и обмена данными, позволяющий им выбирать, какие приложения могут получать доступ к их персональным данным о здоровье, физической форме и самочувствии и отображать их. Это позволяет разработчикам приложений предоставлять пользователям более полную картину их здоровья и эффективнее отслеживать их данные.
Комплект разработчика программного обеспечения Health Platform API дает разработчикам приложений для Android все необходимое для предоставления доступа к данным о здоровье и благополучии пользователя на некоторых устройствах Samsung и позволяет приложениям выполнять массовые операции, такие как вставка, удаление и чтение данных.
Начать
При использовании Health Platform помните о следующем:
- Клиентские приложения должны получать от пользователя детальные разрешения на чтение и запись.
- Пользователь может в любой момент отказать в предоставлении разрешений или отозвать их.
- API Health Platform поддерживает только некоторые устройства Samsung.
-
HealthDataClient
— это клиент для Health Platform и точка входа в Health Platform.
На следующем рисунке показаны необходимые этапы интеграции, которые должны выполнить разработчики:

Файлы релиза
Релиз Health Platform V1 содержит следующее:
- Клиентский SDK : включите этот SDK в своё приложение, чтобы использовать API Health Platform. SDK — это репозиторий Maven, который можно напрямую включить в файлы сборки Gradle вашего приложения.
Установить платформу здравоохранения
Установите Health Platform, выполнив следующие шаги:
В корневом файле build.gradle
приложения добавьте репозиторий, как показано в следующем примере:
allprojects {
. . .
repositories {
. . .
google()
}
}
Добавьте зависимость от Health Platform SDK в файл build.gradle
вашего модуля, как показано в следующем примере:
Котлин
зависимости { . . . реализация("com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01") }
Круто
зависимости { . . . реализация '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
соответственно.
Платформа Health Platform присваивает каждому объекту RawData
уникальный идентификатор (UID) при добавлении. Этот UID можно использовать для ссылки на конкретный объект RawData
в запросах на чтение, обновление или удаление.
Типы данных
Платформа Health Platform включает в себя широкий набор типов данных, которые обычно используются в приложениях для здоровья и фитнеса. Данные, хранящиеся в доступных типах данных, предоставляют пользователям комплексное представление об истории их здоровья, физической форме и самочувствии, давая представление об их повседневной активности.
Каждый тип данных определяется своим форматом данных, который включает в себя следующее:
- Поля: специальные или общие поля, связанные с типом данных. Например, тип данных «Насыщение крови кислородом» (SpO2) имеет такие поля, как «Название», «Примечания» и «Процент».
- Тип: 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
:
-
StatisticalData
: среднее, минимальное или максимальное значение в набореSampleData
илиSeriesData
, например минимальная и максимальная частота сердечных сокращений во время сеанса активности. -
CumulativeData
: сумма значенийIntervalData
, например, общее количество шагов за дневной интервал. -
CountData
: простой подсчёт количества базовых объектовRawData
, например, количества сеансов активности за определённую неделю. Данные подсчёта можно вычислить для выборочных, интервальных и серийных типов данных.
Подключитесь к API платформы здравоохранения
HealthDataClient
— это точка входа в API платформы здравоохранения.
Следующие шаги описывают, как подключиться к Health Platform:
- Используйте
HealthDataService.getClient
для создания новых экземпляровHealthDataClient
. - Затем клиентское приложение должно запросить разрешение у пользователя, используя метод
requestPermissions (Set)
.
HealthDataClient
автоматически управляет своим подключением к базовому уровню хранения данных и обрабатывает все межпроцессное взаимодействие (IPC), а также сериализацию исходящих запросов и входящих ответов.
Рекомендовано для вас
- Примечание: текст ссылки отображается, когда JavaScript отключен.
- Активные данные и упражнения
- Пассивные обновления данных
- Используйте Jetpack Compose на Wear OS