Wear OS 应用开发原则

Wear OS 以 Android 为基础,因此 Android 的许多最佳实践也适用于 Wear OS。不过,Wear OS 专门针对腕部佩戴进行了优化,因此两者之间存在一些差异。

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

针对关键任务进行设计

如果您已有移动应用,请勿迁移整个代码库。相反,您应确定最适合在腕部完成的核心任务,并简化相应体验。成功的穿戴式应用可提供有意义的、一目了然的体验,帮助用户在旅途中保持专注和高效。

显示聚焦任务的 Wear OS 应用界面。
图 1:Wear OS 应用示例。

针对腕部佩戴进行优化

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

查看 Wear OS 设计指南,详细了解如何针对腕部佩戴进行优化。

在 Wear OS 上运行的地图应用和计时器应用。
图 2:针对快速互动进行优化的 Wear OS 应用。

尊重用户隐私

您的应用必须赢得用户的信任,然后用户才会授予您的应用访问潜在敏感信息的权限。该系统提供了多种方法来帮助用户维护隐私。

隐私信息中心

从 Wear OS 5 开始,系统支持隐私信息中心。此信息中心可让用户集中查看每个应用的数据用量,包括以下详细信息:

  • 正在访问的数据类型,例如位置信息和麦克风。
  • 相应数据类型的最近访问时间。

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

屏幕截图检测

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

为任务使用适当的 surface

为了吸引用户,Wear OS 拥有比移动设备更多的 surface。应用应针对这些 surface 定制内容。

每个 surface 都有自己的使用场景。如果需要执行更多操作,请将用户引导至更完整的应用体验。

阅读并了解如何根据用户需求在各个 surface 上调整您的内容。下表提供了一个天气应用的优先级示例。

显示天气复杂功能的 Wear OS 表盘。 显示天气通知的 Wear OS 表盘。 显示天气功能块的 Wear OS 表盘。 显示完整天气应用的 Wear OS 表盘。
复杂功能

P1:现在天气如何?

通知

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

卡片

P1:现在天气如何?

P2:今天天气如何?

应用

P1:现在天气如何?

P2:今天天气如何?

P3:每个小时的天气如何?

P3:偏好设置

一款 Wear OS 手表,显示一个天气功能块,其中包含当前天气状况和天气预报。
图 3:Wear OS 天气功能块。

如需了解详情,请参阅界面指南

向其他 surface 添加通知

在 Wear OS API 级别 30 及更高版本中,将任何持续性通知与 OngoingActivity 配对,即可将该通知添加到 Wear OS 界面内的其他界面中。这有助于提高用户与长时间进行的活动的互动度。

支持离线场景

虽然 Wear OS 设备通常支持蓝牙和 Wi-Fi,但可能不支持 LTE。针对不稳定的连接和离线使用场景(例如锻炼和通勤)进行设计,在这些场景中用户可能会将移动设备留在家中。

可离线使用的 Wear OS 音乐和锻炼应用。
图 4:离线使用 Wear OS 应用的示例。

提供相关内容

用户几乎总会佩戴手表。根据用户所处的环境(例如,时间、地点和活动)更新应用内容。

提供新鲜内容的 Wear OS 日历和天气应用。
图 5:提供新颖内容的 Wear OS 应用。

帮助用户通过其他设备完成任务

越来越多的用户拥有多台设备。手表可以帮助用户在分布式设备生态系统中完成任务。查看适合您的应用的使用场景。

在应用冷启动期间改善用户体验

为了改善应用冷启动期间的用户体验,请使用单独的主题创建启动 activity。然后,在清单文件中将其 windowBackground 设置为自定义启动画面可绘制对象。启动画面由包含两个元素的层列表组成:背景颜色和自定义可绘制对象(通常为应用图标)。使用 48x48 dp 的可绘制对象。

如需了解详情,请参阅添加启动画面

媒体应用的注意事项

启用手机中的音乐播放控件

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

已下载的内容

如前所述,支持离线场景非常重要。这对于媒体应用尤为重要。对于媒体应用而言,先支持离线下载,然后根据需要添加在线播放功能,这样会更方便。

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

通过 LTE 在线播放

请考虑在具有 LTE 连接(媒体播放的常见使用场景)的设备上提供在线播放支持。借助在线播放功能,用户将其他设备留在家中时,仍能听音乐。当用户在线播放音乐和缓存在线播放的音频时,确保能够向用户直观地传达这些讯息。避免利用 LTE 执行任何可推迟的作业(例如发送日志记录和分析数据),以便在在线播放时优化耗电量。

支持蓝牙头戴式耳机

用户在外出跑步或散步时可能会只带着手表和耳机。您可以通过支持与耳机配对,使用户获得真正的独立体验。如果在播放或恢复播放音乐时未连接耳机,请启动蓝牙设置,以便用户直接从应用连接到蓝牙耳机。

指明音乐来源

清楚地指明声音是来自手表还是手机。您可以使用来源图标来指示播放音乐的设备。将默认来源设置为用户开始播放音乐的设备。

使用扬声器

有些 Wear OS 设备配有内置扬声器,可用于提醒和闹钟等功能。避免使用内置扬声器播放媒体内容和音乐,因为用户希望通过耳机播放这些内容。 如需了解详情,请参阅检测音频设备

健身应用的注意事项

为 Android 10(API 级别 29)及更高版本构建健身应用时,需请求身体活动识别权限。

与移动应用互补

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

虽然您可以设置一些锻炼后的信息摘要屏幕,但应将提供锻炼后详细分析数据以及需要更多屏幕空间的任何其他功能留给移动应用。

支持长期存在的 activity

就像设计许多会跟踪位置信息和传感器数据的应用一样,将应用设计为“在使用期间”处理运行。这意味着您的应用在前台运行。

如果锻炼是在 activity 中开始的,请将该 activity 与执行这项工作的服务绑定。当用户离开您的应用时,服务会解除绑定,并且可以将自身提升为持续性通知。

在 Wear OS 中,借助 Ongoing Activity API,您只需编写少量代码即可向新的 surface 公开持续性通知。

查看 GitHub 上有关持续性活动的 Codelab,了解采用此架构的简化应用。

谨慎使用始终开启的功能

如果用户在与应用会话期间停止使用手表,设备会进入系统氛围模式以节省电量。

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

对于大多数使用场景来说,这应该足以为用户提供良好的体验并延长电池续航时间。

在某些情况下,您可能需要延长应用的亮屏时间,例如在整个锻炼期间。在这些情况下,请使用 AmbientLifecycleObserver。 如需了解详情,请参阅让应用始终显示在 Wear 上

请勿保持唤醒锁定

使用 Health Services 等 API 获取传感器数据,同时允许 CPU 在读取或传送数据之间休眠。

优化位置信息和传感器管理

传感器管理非常重要,如果处理不当,可能会对电池续航时间造成负面影响。

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

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

如需简化传感器管理并优化电源,请考虑使用健康服务

使用触感反馈确认操作

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

使用触摸锁定功能

在某些情况下,停用触摸体验可改善应用体验。例如,建议在跟踪锻炼时停用触摸,因为在这种情况下很可能出现意外触摸。

即时通讯应用的注意事项

从通知开始

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

支持语音输入

支持语音转文字,因为在手表上使用语音转文字要比打字效率更高。您可能还需要支持录制的音频。