Wear OS 应用开发原则

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

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

注意:API 级别为 30 的 Wear OS 模拟器系统映像目前为开发者预览版。如需了解最新更新,请参阅版本说明

针对关键任务进行设计

重点关注目标用户的一项或两项需求,而不是完整应用体验。不要迁移整个移动代码库,也不要将 Wear OS 界面放在顶层。

相反,您应寻找适用于腕部佩戴的关键任务,并简化 Wear OS 的体验。

应用示例

针对腕部佩戴进行优化

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

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

计时器示例

为任务使用适当的界面

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

每个界面都有自己的使用场景。如果涉及执行更多操作,请将用户定向到应用的完整体验(称为叠加层)。

界面使用场景

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

复杂功能

P1:现在天气如何?

通知

P1 告诉我恶劣天气公告

图块

P1:现在天气如何?

P2:今天天气如何?

叠加层

P1:现在天气如何?

P2:今天天气如何?

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

P3:偏好设置

天气图块

如需了解详情,请参阅我们的界面指南。

向其他界面添加通知

在 Wear OS API 级别 30 及更高版本中,将任何持续显示的通知与 OngoingActivity 配对,即可将该通知添加到 Wear OS 界面的其他界面中,以增强与长时间运行的 activity 的互动。

支持离线场景

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

离线示例

提供相关内容

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

界面

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

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

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

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

媒体应用的注意事项

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

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

已下载的内容

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

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

通过 LTE 在线播放

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

支持蓝牙头戴式耳机

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

指明音乐来源

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

使用扬声器

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

健身应用的注意事项

为 Android 10 及更高版本构建健身应用时,请请求身体运动状态识别权限。

与移动应用互补

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

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

支持长期存在的 activity

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

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

在 Wear OS 中,您可以使用 Ongoing Activity API,只需编写少量代码即可向新界面公开您的持续显示的通知。

查看 Ongoing Activity Codelab,了解具有此架构的简化应用。

谨慎使用始终开启的功能

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

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

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

在某些情况下,您可能需要延长应用可见时间,例如在整个锻炼期间。在此类情况下,您需要使用唤醒锁定和 AmbientModeSupport。 如需了解详情,请参阅让您的应用始终显示在 Wear 上

为了有效地使用 AmbientModeSupport

请勿保持唤醒锁定

请勿保持唤醒锁定,除非您将其与始终开启搭配使用。

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

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

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

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

使用硬件按钮

用户希望通过手表上的按钮来控制自己的锻炼,例如开始、停止或暂停锻炼。请提供按钮(如果可用)选项。

使用触感反馈确认操作

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

使用触摸锁定功能

在某些情况下,停用触摸体验可改善应用体验。例如,在跟踪游泳锻炼时停用触摸(或将应用置于“潮湿模式”)是有意义的,因为在这种情况下很可能出现意外触摸。

如需了解详情,请参阅潮湿模式

即时通讯应用的注意事项

从通知开始

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

支持语音输入

请务必支持语音转文字,因为手表上的语音转文字速度要快得多。您可能还需要支持录制的音频。