即刻体验 | Android Health 全新升级
Health Connect https://developer.android.google.cn/guide/health-and-fitness/health-connect Wear OS 上的健康服务 https://developer.android.google.cn/health-and-fitness/guides/health-services
AI 的强大功能解锁了令人惊叹且独一无二的应用场景,但如果您想在合适的时机为用户提供最大价值,需要强大的数据基础。我们今年的更新重点在于帮助您构建这一数据基础,提供对更多数据类型的支持、访问数据的新方法,以及在您需要时可以及时地获取数据更新的其他方法。
Google Fit API 的更改
近期宣布 https://android-developers.googleblog.com/2024/05/evolving-health-on-android-migrating-from-google-fit-apis-to-android-health.html
Health Connect https://developer.android.google.cn/health-and-fitness/guides/health-connect 提供了更深入的数据洞见 https://android-developers.googleblog.com/2023/08/health-connect-brings-together-peloton-oura-lifesum-for-deeper-health-and-fitness-insights.html 精选应用列表 https://play.google.com/store/apps/collection/promotion_all__health_connect
官方网站 https://developer.android.google.cn/health-and-fitness
Health Connect 的新功能
Health Connect https://developer.android.google.cn/guide/health-and-fitness/health-connect
Wear OS 上的健康服务更新
Wear OS 上的健康服务 https://developer.android.google.cn/health-and-fitness/guides/health-services
在 Wear OS 5 中,我们引入了 2 项新功能:
针对跑步的新数据类型 对去抖动目标 (debounced goals) 的支持
针对跑步的新数据类型
全新高级跑步指标完整列表如下:
触地时间 步幅 垂直幅度 垂直比例
// Checking if the device supports the RUNNING exercise and confirming the
// data types that are supported.
suspend fun getExerciseCapabilities(): ExerciseTypeCapabilities? {
val capabilities = exerciseClient.getCapabilitiesAsync().await()
return if (ExerciseType.RUNNING in capabilities.supportedExerciseTypes) {
capabilities.getExerciseTypeCapabilities(ExerciseType.RUNNING)
} else {
null
}
}
. . .
// Checking whether the data types that we want to use are supported by
// the RUNNING exercise on this device.
val dataTypes = setOf(
DataType.HEART_RATE_BPM_STATS,
DataType.CALORIES_TOTAL,
DataType.DISTANCE_TOTAL,
DataType.GROUND_CONTACT_TIME,
DataType.VERTICAL_OSCILLATION
).intersect(capabilities.supportedDataTypes)
检查运动功能 https://developer.android.google.cn/health-and-fitness/guides/health-services/active-data#capabilites
传感器面板
https://developer.android.google.cn/studio/preview/features#mock-sensor-capabilities-values
传感器面板目前已推出 Canary 版
https://developer.android.google.cn/studio/preview
对去抖动目标的支持
这项支持源于两种新方法,旨在根据瞬时指标更合理地控制目标提醒时机:阈值持续时间和初始延迟:
阈值持续时间是指在健康服务发送提醒事件之前,用户需要达到指定阈值的不间断时长。 初始延迟是指从目标注册到应用收到通知之间必须经过的时长。
目标提醒 https://developer.android.google.cn/reference/kotlin/androidx/health/services/client/data/ExerciseGoal
如果您的应用支持用户设置健身目标或指标,这些功能便可共同减少误报和重复提醒用户的次数。
阈值持续时间 | 初始延迟 | |
定义 | 在健康服务发送提醒事件之前,用户需要达到指定阈值的不间断时长。 | 从目标注册到应用收到通知之间必须经过的时长。 |
目的 | 防止误报。 | 防止反复通知用户。 |
计数器启动 | 用户一旦超过指定阈值立即启动。 | 监控请求一经设置立即启动。 |
一个常见的去抖动目标 (debounced goals) 用例涉及心率区间。在运动过程中,尤其是进行高强度有氧运动时,心率会不断波动。如果不支持去抖动功能,应用可能会在短时间内接收到多次提醒,例如每当用户的心率高于或低于目标范围时。
通过引入初始延迟,您可以通知健康服务仅在经过指定时间周期后发送目标提醒。您可以将这一周期视为调整期。而通过引入阈值持续时间,您可以进一步自定义,指定必须在指定阈值内 (或阈值外) 持续的时间量,目标才会被激活。在实际应用中,这就好比等待用户的心率超出目标范围 15 秒钟后,您的应用才会提醒他们增加或减少运动强度。
欢迎您查看技术会议 "使用 Android Health 打造自适应体验 (Building Adaptable Experiences with Android Health)",了解关于这一功能的实际应用!
使用 Android Health 打造自适应体验 https://www.youtube.com/watch?v=cWUcag-8iWI
您应用的训练伙伴
健康与健身开发者中心 https://developer.android.google.cn/health-and-fitness
非常期待看到您在 Android 上不断构建出色的健康与健身体验!欢迎您持续关注 "Android 开发者" 微信公众号,及时了解更多开发技术和产品更新等资讯动态。
推荐阅读