Wear OS 开发原则

Wear OS 基于 Android,因此许多 Android 最佳实践也适用于 Wear OS。但是,Wear OS 针对腕表进行了优化,因此两者之间存在一些差异。

为了优化您的开发时间,请在开始构建 Wear OS 应用之前查看以下原则。

注意:新的 Wear OS 质量要求将于 2023 年 8 月 31 日生效。有关要求的完整列表,请参阅 Wear OS 应用质量

针对关键任务进行设计

专注于目标用户的 1 到 2 个需求,而不是完整的应用体验。不要迁移整个移动代码库并在其上添加 Wear OS 用户界面。

相反,找到在腕表上运行良好的关键任务,并简化 Wear OS 上的体验。

app samples

针对腕表进行优化

帮助用户在几秒钟内完成手表上的任务,以避免人体工程学上的不适或手臂疲劳。

查看 Wear OS 设计指南,了解有关针对腕表进行优化的更多信息。

timer sample

尊重用户的隐私

在用户允许您的应用访问其潜在敏感信息之前,您的应用必须赢得用户的信任。系统提供多种方法来帮助用户维护其隐私。

隐私信息中心

从 Wear OS 5 开始,系统支持 隐私信息中心。此信息中心为用户提供每个应用数据用法的集中视图,包括以下详细信息:

  • 正在访问的数据类型,例如位置和麦克风。
  • 最近访问这些数据类型的频率。

通过访问这些信息,用户可以更明智地决定哪些应用仍应访问其个人数据。为了维护用户信任,请负责任地使用数据,并在收集和使用用户数据时保持透明。

屏幕截图检测

在运行 Wear OS 5 或更高版本的设备上,应用可以使用保护隐私的 屏幕截图检测 API

为任务使用合适的界面

Wear OS 比移动设备拥有更多界面来吸引用户。应用应为这些界面定制其内容。

每个界面都有其自身的用例。如果需要更多操作,请将用户引导到更完整的应用体验。

阅读并了解您的内容如何根据用户需求的优先级在每个界面上进行缩放。以下是天气应用优先级的示例。

复杂功能

P1:现在的天气如何?

通知

P1 告诉我有关恶劣天气警报的信息

磁贴

P1:现在的天气如何?

P2:今天的天气如何?

应用

P1:现在的天气如何?

P2:今天的天气如何?

P3:每小时的细分情况如何?

P3:偏好设置

weather tile

要了解更多信息,请阅读我们的用户界面指南。

向其他界面添加通知

在 Wear OS API 级别 30 和更高版本中,将任何正在进行的通知与 OngoingActivity 配对,以将该通知添加到 Wear OS 用户界面中的其他界面,从而提高对长时间运行活动的参与度。

支持离线场景

虽然 Wear OS 设备通常支持蓝牙和 Wi-Fi,但它可能不支持 LTE。针对间歇性连接和离线用例(例如锻炼和通勤)进行设计,此时用户可能将移动设备留在家里。

offline examples

提供相关内容

手表几乎总是与用户在一起。使用户的上下文(例如其时间、地点和活动)保持应用内容更新。

surfaces

帮助用户完成来自另一台设备的任务

人们越来越多地拥有多台设备。手表可以帮助人们完成分布式设备生态系统中的任务。查看此功能对您的应用有意义的用例。

改进应用冷启动期间的用户体验

为了改进应用冷启动期间的用户体验,请创建一个具有单独主题的启动 Activity,并在清单文件中将其 windowBackground 设置为自定义启动 drawable。启动屏幕由具有两个元素的图层列表组成,即背景颜色和通常是您的应用图标的自定义 drawable。drawable 应为 48 x 48dp。

媒体应用注意事项

启用来自手机的音乐播放控件

如果您的应用安装在手机和手表上,用户希望能够从手表进行远程控制。例如,用户希望能够从手表暂停、播放或跳过歌曲。

已下载内容

如前所述,支持离线场景非常重要。这对于媒体应用尤其重要。对于媒体应用,最好先支持离线下载,然后根据需求添加流媒体功能。

在设计时,向用户明确说明哪些内容可离线使用。对于任何长时间运行的即时或定期任务,请使用 WorkManager。将下载推迟到手表充电并连接到 Wi-Fi 时。

LTE 流媒体

考虑为具有 LTE 连接的设备提供流媒体支持,这是媒体播放的常见用例。流媒体允许用户将其他设备留在家里,仍然可以收听音乐。确保在流式传输音乐时向用户直观地传达信息并缓存流式音频。避免将 LTE 用于可以推迟的任何作业(例如发送日志和分析数据),以优化流式传输时的功耗。

支持蓝牙耳机

用户可能只戴着手表和耳机出去跑步或散步。通过支持与耳机的配对,使他们能够获得真正的独立体验。如果播放或恢复音乐时未连接耳机,则启动 蓝牙设置,允许用户直接从应用连接到其蓝牙耳机。

指示音乐来源

明确指示声音是来自手表还是手机。使用源图标指示音乐播放位置。默认来源应为用户启动音乐的位置。

使用扬声器

一些 Wear OS 设备包含内置扬声器,可用于提醒和警报等功能。避免使用内置扬声器播放媒体和音乐,因为用户希望这些体验与使用耳机相关联。有关更多信息,请参阅 检测音频设备

健身应用注意事项

在为 Android 10 和更高版本创建健身应用时,请请求 身体活动识别 权限。

补充移动应用

如上所述,Wear OS 健身应用应仅处理腕表上的关键任务。这意味着健身 Wear OS 应用主要侧重于数据收集。

虽然您可以允许一些锻炼后摘要屏幕,但请将详细的锻炼后分析以及任何其他需要更多屏幕空间的功能保留在移动应用中。

支持长期运行的活动

与许多订阅位置和传感器数据的应用一样,请设计您的应用以处理使用中运行。这意味着您的应用应在前台运行。

如果锻炼在一个活动中开始,请将该活动绑定到将执行工作的服务。当用户从您的应用导航离开时,该服务将取消绑定,并可以提升自己为持续通知。

在 Wear OS 中,您可以使用最少的代码将持续通知公开到使用持续活动 API 的新界面。

查看 GitHub 上的 持续活动代码实验室,了解具有此架构的简化应用。

谨慎使用始终显示模式

如果用户在与您的应用进行会话期间停止使用手表,则设备最终将进入系统环境模式以节省电量。

如果用户在指定时间内再次与设备交互,Wear OS 将使该应用恢复到活动状态。

对于大多数用例,这应该足以让用户获得良好的体验并节省电池电量。

在某些情况下,您可能需要您的应用长时间可见,例如在整个锻炼过程中。对于这些情况,您需要使用 AmbientLifecycleObserver。有关更多信息,请参阅 保持您的应用在 Wear 上可见

不要保持唤醒锁

使用诸如 健康服务 之类的 API 来获取传感器数据,同时允许 CPU 在读数或传递之间休眠。

优化位置和传感器管理

传感器管理非常重要,如果操作不当,会对电池寿命产生负面影响。

实施传感器策略时,请务必遵循以下建议:

  • 尽可能始终以批处理模式使用传感器。
  • 屏幕/应用再次激活时刷新传感器。
  • 屏幕关闭时更改批处理长度以节省电量。
  • 不再需要时注销传感器侦听器。
  • 对于位置传感器,请遵循 在 Wear OS 上检测位置 中记录的最佳实践。

使用触觉反馈确认操作

使用 触觉反馈 确认操作,例如开始、停止、自动暂停或自动计时。

使用触摸锁定

在某些情况下,禁用触摸体验可以改善应用体验。例如,在跟踪锻炼时禁用触摸是有意义的,因为在这种情况下很容易发生意外触摸。

消息应用注意事项

从通知开始

支持 MessagingStyle 以改善用户的应用体验。

支持语音输入

请确保支持语音转文本功能,因为在手表上它更快。您可能也希望支持录音。