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

帮助用户完成来自其他设备的任务

人们越来越多地拥有多个设备。手表可以帮助人们完成分布式设备生态系统中的任务。查看这种做法对您的应用程序是否有意义的用例。

改进应用程序冷启动时的用户体验

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

媒体应用程序的注意事项

启用从手机播放音乐的播放控制

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

已下载的内容

如前所述,支持离线场景非常重要。这对媒体应用程序尤其重要。对于媒体应用程序,首先支持离线下载更容易,然后如果看到需求,再添加流功能。

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

在 LTE 上流媒体播放

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

支持蓝牙耳机

用户可能只带着手表和耳机去跑步或散步。通过支持与耳机配对,让他们拥有真正的独立体验。如果在播放或恢复音乐时未连接耳机,请启动 蓝牙设置,允许用户直接从应用程序连接到他们的蓝牙耳机。

指示音乐来源

明确指示声音是从手表还是手机发出。使用来源图标指示音乐正在播放的位置。默认来源应该是用户开始播放音乐的位置。

使用扬声器

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

健身应用程序的注意事项

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

补充移动应用程序

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

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

支持长期活动

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

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

在 Wear OS 中,您可以使用最少的代码将正在进行的通知公开到新的界面,方法是使用 Ongoing Activity API。

查看 GitHub 上的 Ongoing Activity 代码实验室,以查看具有此体系结构的简化应用程序。

谨慎使用始终显示

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

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

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

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

不要保持唤醒锁定

使用 健康服务 等 API 获取传感器数据,同时允许 CPU 在读取或传递之间进入睡眠状态。

优化位置和传感器管理

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

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

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

使用触觉反馈确认操作

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

使用触控锁定

在某些情况下,禁用触控体验可以改善应用程序体验。例如,在跟踪锻炼时禁用触控是有意义的,因为在这种情况下,意外触控非常有可能发生。

消息应用程序的注意事项

从通知开始

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

支持语音输入

确保支持语音转文本,因为它在手表上要快得多。您可能还想支持录制音频。