查看原文
其他

即刻体验 | Android Health 全新升级

Android Android 开发者
2024-09-27

作者 / Android Health 开发者关系工程师 Breana Tate 


Android Health 的使命是让数十亿 Android 用户能够通过访问、存储和控制自己的健康、健身及安全数据来改善健康状况。为了进一步实现这一使命,我们为开发者提供了两个主要的 API: Health Connect 和 Wear OS 上的健康服务,并被越来越多的 Android 和 Wear OS 应用开始使用。

  • 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 的更改



我们近期宣布,Google Fit 开发者服务将过渡成为 Android Health 平台的核心部分。在此过程中,包括 REST API 在内的 Google Fit API 将在 2025 年 6 月 30 日之前保持可用。

  • 近期宣布
    https://android-developers.googleblog.com/2024/05/evolving-health-on-android-migrating-from-google-fit-apis-to-android-health.html

Health Connect 是在 Android 手机上存储和共享健康及健身数据的推荐解决方案。自 Android 14 起,Health Connect 默认内置在系统设置中。对于 Android 14 之前的设备,用户可从 Google Play 商店下载获取。Health Connect 使您的应用能够通过单一的 API 集成与数百个应用相连。迄今为止,已有超过 500 个应用集成了 Health Connect,并为他们的用户提供了更深入的数据洞见。您可以查看精选应用列表,了解一些已集成 Health Connect 的应用。

  • 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


我们很高兴能通过移动设备上的 Recording API 继续支持 Google Fit Android Recording API 功能。该功能使开发者能够以高效的方式记录步数、距离和卡路里。与其不同的是,移动设备上的 Recording API 默认不会将数据存储在云端,也不需要 Google 登录。该 API 旨在简化从 Google Fit Android Recording API 进行迁移的过程。请您持续关注官方网站,更及时地获取即将发布的文档信息。


  • 官方网站
    https://developer.android.google.cn/health-and-fitness


Health Connect 的新功能



Health Connect 即将增加对后台读取和历史记录读取的支持。


  • Health Connect
    https://developer.android.google.cn/guide/health-and-fitness/health-connect


后台读取使开发者能够在其应用处于后台时从 Health Connect 读取数据,这意味着您可以使数据保持最新状态,而无需依赖用户打开您的应用。这与当前的行为有所不同,目前应用仅能在前台或运行前台服务时从 Health Connect 读取数据。


历史记录读取将给予用户选择权,用户可以选择授予应用访问 Health Connect 中所有历史数据的权限,而不仅仅是过去 30 天的数据。


对于后台读取和历史记录读取,用户都保有控制权。开发者必须声明这两项功能所对应的权限,并在用户批准权限请求后,才能够使用受这些权限保护的数据。即使用户已经授予了批准,他们也可以随时在 Health Connect 设置中撤销访问权限。


这两项功能都将在今年晚些时候发布。欢迎您继续关注,了解如何为您的应用添加支持!


Wear OS 上的健康服务更新



Wear OS 上的健康服务是一系列 API,帮助您在 Wear OS 上轻松打造高效节能的健康和健身体验。

  • Wear OS 上的健康服务
    https://developer.android.google.cn/health-and-fitness/guides/health-services

在 Wear OS 5 中,我们引入了 2 项新功能:

  1. 针对跑步的新数据类型
  2. 对去抖动目标 (debounced goals) 的支持

针对跑步的新数据类型


从 Wear OS 5 开始,健康服务将支持跑步方面的新数据类型。这些数据类型有助于提供更多关于跑步姿势和效率的深入见解。


全新高级跑步指标完整列表如下:

  1. 触地时间
  2. 步幅
  3. 垂直幅度
  4. 垂直比例


在使用 Wear OS 上的健康服务支持的所有数据类型时,请您务必检查运动功能,确保您的应用仅使用受该设备支持的指标,从而为用户构建更流畅的体验。这一点对于 Wear OS 尤其重要,因为 Wear OS 拥有强大的设备生态系统,消费者有很多选择,但这些设备并不总是支持相同的指标。
// 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)
△ 使用 Wear OS 上的健康服务检查运动功能


  • 检查运动功能
    https://developer.android.google.cn/health-and-fitness/guides/health-services/active-data#capabilites

为了简化这一过程,我们引入了传感器面板,该面板从 Android Studio Koala Drop 开始可用,目前已推出 Canary 版。您可以使用此面板通过多种设备功能测试您的应用,模拟心率或距离等指标不可用的情况。

△ 健康服务传感器面板
  • 传感器面板

    https://developer.android.google.cn/studio/preview/features#mock-sensor-capabilities-values

  • 传感器面板目前已推出 Canary 版

    https://developer.android.google.cn/studio/preview


对去抖动目标的支持


其次,Wear OS 上的健康服务即将支持瞬时指标的去抖动目标 (debounced goals)。这些指标包括心率、距离和速度等,用户希望在运动过程中将这些指标维持在特定的阈值或范围内。


去抖动目标 (debounced goals) 可以防止同一事件在短时间内因为条件符合就被多次触发。而现在,只有当阈值连续超过一定秒数 (可配置) 后,才会触发事件。您还可以阻止目标注册后立即触发事件。


这项支持源于两种新方法,旨在根据瞬时指标更合理地控制目标提醒时机:阈值持续时间初始延迟

  • 阈值持续时间是指在健康服务发送提醒事件之前,用户需要达到指定阈值的不间断时长。
  • 初始延迟是指从目标注册到应用收到通知之间必须经过的时长。

  • 目标提醒
    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



您应用的训练伙伴



健康与健身开发者中心是您构建 Android 健康与健身应用的一站式服务平台!欢迎您访问该网站,获取文档、设计灵感、案例研究等资源,并学习如何在移动设备和 Wear OS 上构建应用。

  • 健康与健身开发者中心
    https://developer.android.google.cn/health-and-fitness

非常期待看到您在 Android 上不断构建出色的健康与健身体验!欢迎您持续关注 "Android 开发者" 微信公众号,及时了解更多开发技术和产品更新等资讯动态。


推荐阅读

如页面未加载,请刷新重试


 点击屏末 | 阅读原文 | 访问健康与健身开发者中心了解更多信息




继续滑动看下一个
Android 开发者
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存