Encienda su aplicación de fitness Wear OS con la última versión de Health Services

Publicado por Breana Tate, ingeniera de relaciones con los desarrolladoreslos API de servicios de salud permite a los desarrolladores usar datos de sensores en el dispositivo y algoritmos relacionados para proporcionar a sus aplicaciones datos de actividad, ejercicio y salud de alta calidad. Además, no tiene que elegir entre conservar la vida útil de la batería y entregar datos de alta frecuencia: los servicios de atención médica le permiten hacer ambas cosas. Desde que anunciamos Health Services Alpha en I/O ’21, hemos realizado una serie de mejoras en la plataforma para simplificar la experiencia de desarrollo. Continúe leyendo para conocer las emocionantes funciones de Health Services Beta en Android Jetpack que su aplicación puede aprovechar cuando migre desde Alpha.

Capture más con nuevas métricas

La versión beta de Health Services Jetpack presenta nuevos tipos de datos y ejercicios, incluidos DataType.GOLF_SHOT_COUNT, ExerciseType.HORSE_RIDING y ExerciseType.BACKPACKING. Puedes revisar la lista completa de nuevos ejercicios y tipos de datos aquí. Estos complementan la ya extensa biblioteca de datos Y ejercicio tipos disponibles para los desarrolladores que crean aplicaciones de Wear OS con Health Services. Además, agregamos la capacidad de escuchar eventos de salud, como la detección de caídas, a través de PassiveMonitoringClient.

Además de los nuevos tipos de datos, también hemos introducido un nuevo modelo organizativo para los datos en los Servicios de Salud. Este nuevo modelo hace que la API de servicios de salud sea más independiente del tipo al agregar información de clasificación adicional a los tipos de datos y puntos de datos, lo que reduce la posibilidad de errores de código. En Beta, todos los tipos de DataPoint tienen su propia subclase y se derivan de la clase DataPoint. Puedes elegir entre:

  • SampleDataPoints
  • Intervalo de punto de datos
  • Puntos de datos estadísticos
  • Puntos de datos acumulativos.

Los tipos de datos se clasifican como AggregateDataTypes o DeltaDataTypes.

Como resultado de este cambio, Health Services puede garantizar el tipo correcto en tiempo de compilación en lugar de en tiempo de ejecución, lo que reduce los errores y mejora la experiencia del desarrollador. Por ejemplo, los puntos de datos de ubicación ahora se representan como un objeto LocationData fuertemente tipado en lugar de un DoubleArray. Eche un vistazo al siguiente ejemplo:

Previamente:

ejercicioUpdate.latestMetrics[DataType.LOCATION]? .para cada {
val loc = it.value.asDoubleArray ()

val lat = loc[DataPoints.LOCATION_DATA_POINT_LATITUDE_INDEX] vallón = loc[DataPoints.LOCATION_DATA_POINT_LONGITUDE_INDEX] valor alt = loc[DataPoints.LOCATION_DATA_POINT_ALTITUDE_INDEX]

println (“($ lat, $ lon, $ alt) @ $ {it.startDurationFromBoot}”)
}

Beta de servicios de salud:

ejercicioUpdate.latestMetrics.getData (DataType.LOCATION) .forEach {
// it.value es del tipo LocationData
val loc = it.value
val tiempo = it.timeDurationFromBoot
println(“ubicación = [${loc.latitude}, ${loc.longitude}, ${loc.altitude}] @ $ tiempo”)

}

Como puede ver, gracias al nuevo enfoque, los Servicios de Salud saben qué tipo de loc es Lista> Por qué Tipo de datos.UBICACIÓN se define como un DeltaDataType>.

Estado consolidado de fin de año

ExerciseState ahora se incluye en la propiedad ExerciseStateInfo de ExerciseUpdate. Para brindarle más control sobre cómo responde su aplicación a un ejercicio final, agregamos nuevos estados de ejercicio llamados ExerciseState.ENDED y ExerciseState.ENDING para reemplazar lo que anteriormente eran múltiples variaciones de los estados terminado y terminado. Estos nuevos estados también incluyen un motivo final, como USER_END, AUTO_END_PREPARE_EXPIRED y AUTO_END_PERMISSION_LOST.

El siguiente ejemplo muestra cómo verificar la terminación del ejercicio:

val callback = objeto: ExerciseUpdateCallback {
ignore la diversión onExerciseUpdateReceived (actualización: ExerciseUpdate) {
si (actualización.exerciseStateInfo.state.isEnded) {
// El entrenamiento fue terminado por el usuario o terminado de otra manera
val razón = actualización.ExerciseStateInfo.endReason
}

}

}

Mejoras en el monitoreo pasivo

Health Services Beta también pasa a un nuevo conjunto de API de escucha pasiva. Estos cambios se enfocan principalmente en hacer que las métricas diarias estén mejor escritas y sean más fáciles de integrar. Por ejemplo, cambiamos el nombre de la función PassiveListenerConfig setPassiveGoals a setDailyGoals. Este cambio refuerza el hecho de que los servicios de salud solo apoyan metas pasivas diarias. También hemos condensado múltiples API para registrar oyentes pasivos en una sola llamada de registro. Los clientes pueden implementar directamente las anulaciones deseadas solo para los datos que necesita su aplicación.

Además, el oyente pasivo Receptor de radiodifusión ha sido reemplazada por la Servicio de escucha pasiva, que ofrece una escritura más fuerte, junto con una mejor confiabilidad y rendimiento. Los clientes ahora pueden registrar tanto un servicio como una devolución de llamada al mismo tiempo con diferentes solicitudes, lo que facilita el registro de una devolución de llamada para actualizaciones de la interfaz de usuario y la reserva de la solicitud en segundo plano para actualizaciones de la base de datos.

Cree para aún más dispositivos en Wear OS 3

Health Services solo está disponible para Wear OS 3. El ecosistema de Wear OS 3 ahora incluye aún más dispositivos, lo que significa que sus aplicaciones pueden llegar a más usuarios. Montblanc, Samsung y Fossil son solo algunos de los fabricantes de equipos originales que recientemente lanzaron nuevos dispositivos con Wear OS 3 (¡y habrá más a finales de este año!). El Pixel Watch recientemente lanzado también incluye el seguimiento de la salud basado en el servicio de salud de Fitbit.

Si nunca ha utilizado los servicios de salud antes, ¡ahora es el momento de probarlo! Y si su aplicación todavía usa Health Services Alpha, aquí le explicamos por qué debería considerar migrar:

  • Desarrollo continuo de los servicios de salud: debido a que Health Services Beta es la última versión, es probable que las correcciones de errores y las mejoras de funciones tengan prioridad sobre las versiones anteriores.
  • Preparar la infraestructura de la aplicación para cuando los servicios de salud hagan la transición a una versión estable
  • Escriba mejoras en la seguridad: ¡menos posibilidades de errores de código!
  • Agrega funciones adicionales para simplificar el uso de los datos de los servicios de salud

Puede ver la lista completa de cambios y la documentación actualizada en desarrollador.android.com.

Compruebe también

en vivo desde Droidcon, incluida la mayor actualización de Gemini en Android Studio y más lanzamientos del SDK de Android.

Acabamos de lanzar nuestro episodio de otoño de #TheAndroidShow en YouTube etcétera desarrollador.android.comy esta vez …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *