Servicios de salud en Wear OS

Wear OS 3 y versiones posteriores incluyen un servicio llamado Servicios de salud, que actúa como intermediario de los diversos sensores y algoritmos relacionados del dispositivo para proporcionar a las apps datos de alta calidad relacionados con la actividad, el ejercicio y la salud.

La API de Health Services está en versión beta y está lista para su uso en producción.

Consulta el repositorio de muestras de los Servicios de salud en GitHub para obtener ejemplos de apps de fitness.

Cómo ayudan los Servicios de salud a los desarrolladores de apps

Sin los Servicios de salud, las apps deben conectarse a uno o varios sensores, configurar cada uno de manera adecuada, recibir datos de sensores sin procesar y usar sus propios algoritmos para obtener información significativa. Por ejemplo, una app podría registrarse para recibir actualizaciones de Sensor.TYPE_PRESSURE para obtener la presión del aire actual, usarla para calcular la altitud actual y agregar esos datos a lo largo del tiempo para mostrar los cambios de elevación durante la sesión de actividad del usuario.

Los Servicios de salud configuran automáticamente todos los sensores relacionados con la salud y el entrenamiento para el caso de uso, recopilan datos de sensores y calculan métricas como frecuencia cardíaca, distancia, calorías, elevación, pisos, velocidad, ritmo y mucho más. Las apps pueden registrarse para obtener estos datos directamente desde los Servicios de salud.

with-health-services

Estos son algunos de los beneficios de usar los Servicios de salud:

  • Aprovecha los potentes algoritmos que se ejecutan de forma nativa en la plataforma.
  • Conserva la batería mediante la configuración de sensores de los Servicios de salud optimizados para la eficiencia energética.
  • Prepara una app para el futuro para dispositivos Wear 3 y posteriores. La API de Health Services es coherente en todos los dispositivos Wear 3 y posteriores, lo que facilita la actualización de tu app.
  • Garantiza la coherencia de los datos en todas las aplicaciones del mismo dispositivo mediante cálculos estandarizados de la plataforma.
  • Habilita experiencias que prioricen las actividades, incluida la capacidad de detectar un ejercicio en curso que se inició desde otra app.

Estos beneficios permiten que los desarrolladores se enfoquen en diseñar funciones únicas y experiencias del usuario, mientras confían en la plataforma para proporcionar métricas sólidas y coherentes de manera eficiente en cuanto a la energía.

Conceptos de los Servicios de salud

Cuando desarrolles contenido para los Servicios de salud, ten en cuenta los siguientes conceptos.

Tipos de datos

Los Servicios de salud ofrecen una variedad de datos recopilados y actualizados de forma continua de todas las fuentes disponibles en el dispositivo. Los datos se dividen en dos categorías amplias: datos muestreados en un momento determinado, como HEART_RATE_BPM, y datos tomados durante un intervalo, como DISTANCE.

Para obtener más información, consulta la lista completa de tipos de datos.

Eventos

Las apps reciben eventos cuando el usuario alcanza un determinado estado o evento de objetivo. Por ejemplo, un usuario puede registrar un objetivo de distancia dentro de una app de ejercicio, y esta le enviará una notificación cuando haya recorrido una distancia determinada. Como alternativa, usa un objetivo pasivo para situaciones como que el usuario alcance un recuento de pasos determinado o se quede dormido.

Para obtener más información, consulta Objetivos de entrenamiento y Objetivos pasivos.

Tipos de ejercicio

Los Servicios de salud tratan el ejercicio como una función de primera clase y admiten una variedad de tipos de ejercicio, como correr o esquiar. Mientras un ejercicio está en curso, los Servicios de salud pueden recopilar métricas sobre los tipos de datos seleccionados y, luego, informar a la app que administra el ejercicio.

Para obtener más información, consulta la lista completa de tipos de ejercicio.

Cómo crear apps usando los Servicios de salud

Crea apps mediante los Servicios de salud como se describe en las siguientes secciones.

Experiencias pasivas

Con PassiveMonitoringClient, tu app implementa un PassiveListenerService que recibe actualizaciones sobre un tipo de datos o un evento. Esto es adecuado para experiencias de larga duración en las que las actualizaciones de datos son relativamente poco frecuentes.

Consulta Actualizaciones de datos pasivos para obtener más información.

Experiencias activas

Con MeasureClient, tu app registra objetos de escucha para recibir actualizaciones de datos rápidas. Esto es adecuado para experiencias de corta duración, como cuando el usuario mira la IU de tu app. Intenta minimizar el tiempo que tu app dedica a un objeto de escucha registrado, ya que aumenta la tasa de muestreo del sensor y, por lo tanto, el consumo de energía. Esta API no está diseñada para la captura en segundo plano ni el seguimiento de entrenamiento.

Consulta Cómo realizar mediciones del estado de salud en tiempo real con MeasureClient para obtener más información.

Con ExerciseClient, tu app puede administrar el entrenamiento de un usuario, establecer objetivos de ejercicio y escuchar actualizaciones sobre el estado actual del ejercicio. Tu app también puede recibir actualizaciones de datos rápidas a través de esta API, siempre que el ejercicio pertenezca a tu app. ExerciseClient se puede usar para apps, como una app de correr que permite a los usuarios registrar su carrera, muestra métricas en vivo en su dispositivo y registra datos para analizarlos en detalle.

Consulta Cómo registrar un ejercicio con ExerciseClient para obtener más información.

Cómo realizar pruebas con datos sintéticos

Para probar que tu app recibe actualizaciones de datos de los Servicios de salud, configura tu dispositivo de forma manual para que emita datos como si un usuario participara en un ejercicio.

Consulta Cómo usar datos sintéticos con los Servicios de salud para obtener más información.