La API de Health Platform es una API de Android que proporciona a los desarrolladores una única interfaz para leer, escribir y compartir los datos históricos de salud, bienestar y actividad física de un usuario. Con Health Platform, los usuarios tienen el control de sus datos. Pueden controlar qué apps tienen acceso de lectura o escritura a diferentes tipos de datos. Los tipos de datos de la API de Health Platform incluyen altura, frecuencia cardíaca y mucho más.
La API de Health Platform brinda a los usuarios un mecanismo de almacenamiento y uso compartido que les permite seleccionar qué apps pueden utilizar y mostrar sus datos personales de salud, actividad física y bienestar. Esto permite que los desarrolladores de apps les proporcionen a los usuarios una vista más completa de su salud, así como la posibilidad de que supervisen sus datos de manera más eficaz.
El kit de desarrollo de software de la API de Health Platform brinda a los desarrolladores de apps para Android todo lo que necesitan para brindar acceso a los datos de salud y bienestar de un usuario en dispositivos Samsung seleccionados, y permite que diferentes apps realicen operaciones masivas, como insertar, borrar y leer datos.
Comenzar
Cuando uses Health Platform, ten en cuenta lo siguiente:
- Las apps cliente deben obtener permisos detallados para el acceso de lectura o escritura del usuario.
- El usuario puede denegar los permisos o revocarlos en cualquier momento posterior.
- La API de Health Platform solo admite dispositivos Samsung seleccionados.
HealthDataClient
es el cliente de Health Platform y un punto de entrada a Health Platform.
En la siguiente imagen, se muestran los pasos de integración necesarios que deben seguir los desarrolladores:
Archivos de la versión
La versión V1 de Health Platform contiene lo siguiente:
- SDK cliente: Incluye este SDK en tu aplicación para usar la API de Health Platform. Es un repositorio de Maven que puedes incluir directamente en los archivos de compilación de Gradle de tu aplicación.
Instala Health Platform
Instala Health Platform siguiendo estos pasos:
En el archivo raíz build.gradle
de la app, agrega el repositorio, como se muestra en el siguiente ejemplo:
allprojects {
...
repositories {
...
google()
}
}
Agrega una dependencia en el SDK de Health Platform en el archivo build.gradle
de tu módulo, como se muestra en el siguiente ejemplo:
dependencies {
…
implementation 'com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01'
}
Datos
Health Platform almacena y estructura los datos de salud y actividad física. También considera las diferencias principales entre la forma en que se miden los diferentes tipos de datos. Por ejemplo, una medición de frecuencia cardíaca se toma de inmediato, pero un recuento de pasos se registra a lo largo de un período determinado.
Estos son los objetos centrales de Health Platform y cómo se diferencian:
RawData
: Es un registro de medición y datos.DataType
: Es un especificador para tipos comunes de datos de salud y actividad física, como la frecuencia cardíaca, la grasa corporal o la temperatura corporal, y sus formatos, como campos, opcionales o de solo lectura.SampleData
: Es un objetoRawData
que es una medición instantánea, como la frecuencia cardíaca, la presión arterial o la velocidad de carrera.IntervalData
: Es un objetoRawData
que es una medición acumulativa tomada durante un período, como la cantidad de pasos dados, la distancia recorrida o las calorías quemadas.SeriesData
: Es un objetoRawData
que encapsula una secuencia de mediciones tomadas a lo largo de un período.SeriesData
es ideal para datos de sensores de alta frecuencia, como las muestras continuas de frecuencia cardíaca durante una sesión de actividad.
Cada una de las tres clases de RawData
corresponde a una subclase específica de DataType
: SampleData
, IntervalData
y SeriesData
corresponden a SampleDataType
, IntervalDataType
y SeriesDataType
, respectivamente.
A cada objeto RawData
se le asigna un identificador único (UID) por parte de Health Platform cuando se inserta. Puedes usar este UID para hacer referencia a un objeto RawData
específico en solicitudes de lectura, actualización o eliminación.
Tipos de datos
Health Platform incluye un amplio conjunto de tipos de datos que se usan comúnmente en apps de salud y fitness. Los datos almacenados con los tipos de datos disponibles proporcionan a los usuarios una vista integral de sus datos históricos de salud, actividad física y bienestar, lo que brinda estadísticas sobre sus actividades diarias.
Cada tipo de datos se define por su formato de datos, que incluye lo siguiente:
- Campos: Son campos específicos o genéricos asociados con el tipo de datos. Por ejemplo, el tipo de datos de saturación de oxígeno en sangre (SpO2) tiene campos como Título, Notas y Porcentaje.
- Tipo: Puede ser largo, doble, string o enum.
- Atributo: Puede ser de solo lectura, obligatorio, opcional o un rango de validación.
Lista de tipos de datos
Comprende los tipos de datos disponibles para aprovechar Health Platform al máximo. Actualmente, Health Platform admite los tipos de datos que se muestran en la siguiente tabla. Se organizan según su formato (muestra, intervalo o serie).
Tipos de SampleData
:
DataType.BasalMetabolicRateDataType |
BASAL_METABOLIC_RATE |
Obligatorio |
DataType.BloodGlucoseDataType |
BLOOD_GLUCOSE |
Obligatorio y opcional |
DataType.BloodPressureDataType |
BLOOD_PRESSURE |
Obligatorio y opcional |
DataType.BodyFatDataType |
BODY_FAT |
Obligatorio |
DataType.BodyTemperatureDataType |
BODY_TEMPERATURE |
Obligatorio y opcional |
DataType.BoneMassDataType |
BONE_MASS |
Obligatorio |
DataType.CervicalMucusDataType |
CERVICAL_MUCUS |
Opcional |
DataType.CervicalPositionDataType |
CERVICAL_POSITION |
Opcional |
DataType.CyclingPedalingCadenceDataType |
CYCLING_PEDALING_CADENCE |
Obligatorio |
DataType.DateOfBirthDataType |
DATE_OF_BIRTH |
Solo lectura |
DataType.GenderDataType |
GENDER |
Solo lectura |
DataType.HeartRateDataType |
HEART_RATE |
Obligatorio |
DataType.HeightDataType |
HEIGHT |
Obligatorio |
DataType.HipCircumferenceDataType |
HIP_CIRCUMFERENCE |
Obligatorio |
DataType.HrvDifferentialIndexDataType |
HRV_DIFFERENTIAL_INDEX |
Obligatorio |
DataType.HrvRmssdDataType |
HRV_RMSSD |
Obligatorio |
DataType.HrvSDataType |
HRV_S |
Obligatorio |
DataType.HrvSd2DataType |
HRV_SD2 |
Obligatorio |
DataType.HrvSdannDataType |
HRV_SDANN |
Obligatorio |
DataType.HrvSdnnDataType |
HRV_SDNN |
Obligatorio |
DataType.HrvSdnnIndexDataType |
HRV_SDNN_INDEX |
Obligatorio |
DataType.HrvSdnnIndexDataType |
HRV_SDNN_INDEX |
Obligatorio |
DataType.HrvSdsdDataType |
HRV_SDSD |
Obligatorio |
DataType.HrvTinnDataType |
HRV_TINN |
Obligatorio |
DataType.LeanBodyMassDataType |
LEAN_BODY_MASS |
Obligatorio |
DataType.LocationDataType |
LOCATION |
Obligatorio |
DataType.MenstruationDataType |
MENSTRUATION |
Opcional |
DataType.OvulationTestDataType |
OVULATION_TEST |
Obligatorio |
DataType.OxygenSaturationDataType |
OXYGEN_SATURATION |
Obligatorio |
DataType.PaceDataType |
PACE |
Obligatorio |
DataType.PowerDataType |
POWER |
Obligatorio |
DataType.RespiratoryRateDataType |
RESPIRATORY_RATE |
Obligatorio |
DataType.RestingHeartRateDataType |
RESTING_HEART_RATE |
Obligatorio |
DataType.SexualActivityDataType |
SEXUAL_ACTIVITY |
Obligatorio |
DataType.SpeedDataType |
SPEED |
Obligatorio |
DataType.StepsCadenceDataType |
STEPS_CADENCE |
Obligatorio |
DataType.Vo2MaxDataType |
VO2_MAX |
Obligatorio y opcional |
DataType.WaistCircumferenceDataType |
WAIST_CIRCUMFERENCE |
Obligatorio |
DataType.WeightDataType |
WEIGHT |
Obligatorio |
Tipos de IntervalData
:
DataType.ActiveEnergyDataType |
ACTIVE_ENERGY_BURNED |
Obligatorio |
DataType.ActiveTimeDataType |
ACTIVE_TIME |
Solo lectura |
DataType.ActivityEventDataType |
ACTIVITY_EVENT |
Obligatorio |
DataType.ActivityLapDataType |
ACTIVITY_LAP |
Opcional |
DataType.ActivitySessionDataType |
ACTIVITY_SESSION |
Obligatorio |
DataType.BasalEnergyDataType |
BASAL_ENERGY_BURNED |
Solo lectura |
DataType.DistanceDataType |
DISTANCE |
Obligatorio |
DataType.ElevationGainedDataType |
ELEVATION_GAINED |
Obligatorio |
DataType.FloorsClimbedDataType |
FLOORS_CLIMBED |
Obligatorio |
DataType.HydrationDataType |
HYDRATION |
Obligatorio |
DataType.NutritionDataType |
NUTRITION |
Opcional |
DataType.RepetitionsDataType |
REPETITIONS |
Obligatorio |
DataType.SleepSessionDataType |
SLEEP_SESSION |
Opcional |
DataType.SleepStageDataType |
SLEEP_STAGE |
Obligatorio |
DataType.StepsDataType |
STEPS |
Obligatorio |
DataType.SwimmingStrokesDataType |
SWIMMING_STROKES |
Obligatorio y opcional |
DataType.TotalEnergyDataType |
TOTAL_ENERGY_BURNED |
Solo lectura |
Tipos de SeriesData
:
DataType.CyclingPedalingCadenceSeriesDataType |
CYCLING_PEDALING_CADENCE |
Obligatorio |
DataType.HeartRateSeriesDataType |
HEART_RATE |
Obligatorio |
DataType.LocationSeriesDataType |
LOCATION |
Obligatorio |
DataType.PaceSeriesDataType |
PACE |
Obligatorio |
DataType.PowerSeriesDataType |
POWER |
Obligatorio |
DataType.SpeedSeriesDataType |
SPEED |
Obligatorio |
DataType.StepsCadenceSeriesDataType |
STEPS_CADENCE |
Obligatorio |
Funciones para desarrolladores
A continuación, se describe el conjunto de funciones de datos estándar disponibles en Health Platform. La plataforma proporciona funciones estándar de inserción, actualización y eliminación para datos sin procesar.
Lectura de AggregatedData
La plataforma permite a los clientes aplicar una función de agregación en los siguientes tipos de AggregatedData
:
StatisticalData
: Son los valores promedio, mínimo o máximo en un conjunto deSampleData
oSeriesData
, como la frecuencia cardíaca mínima y máxima durante una sesión de actividad.CumulativeData
: Es la suma de los valores deIntervalData
, como el recuento total de pasos dentro de un intervalo diario.CountData
: Es un recuento simple de la cantidad de objetosRawData
subyacentes, como la cantidad de sesiones de actividad en una semana determinada. Los datos de recuento se pueden calcular para tipos de datos de muestra, de intervalo y de series.
Conéctate a la API de Health Platform
HealthDataClient
es el punto de entrada a la API de Health Platform.
En los siguientes pasos, se describe cómo conectarte a Health Platform:
- Usa
HealthDataService.getClient
para crear instancias deHealthDataClient
nuevas. - La app cliente debe solicitar permiso al usuario mediante el método
requestPermissions (Set)
.
HealthDataClient
administra automáticamente su conexión con la capa de almacenamiento subyacente y controla toda la comunicación entre procesos (IPC) y la serialización de las solicitudes salientes y las respuestas entrantes.
Recomendaciones para ti
- Nota: El texto del vínculo se muestra cuando JavaScript está desactivado.
- Ejercicio y datos activos
- Actualizaciones de datos pasivos
- Cómo usar Jetpack Compose en Wear OS