Wear OS 基于 Android,因此许多 Android 最佳实践也适用于 Wear OS。不过,Wear OS 针对手腕进行了优化,因此两者之间存在一些差异。
为优化您的开发时间,在开始构建 Wear OS 应用之前,请先阅读以下原则。
注意:新的 Wear OS 质量要求将于 2023 年 8 月 31 日生效。如需查看完整要求列表,请参阅Wear OS 应用质量。
针对关键任务进行设计
专注于目标用户的一到两个需求,而不是完整的应用体验。请勿迁移整个移动代码库并在此之上放置 Wear OS 用户界面。
而是找到在手腕上运行良好的关键任务,并简化 Wear OS 上的体验。
为手腕优化
帮助用户在数秒内完成手表上的任务,以避免人体工程学不适或手臂疲劳。
请查看 Wear OS 设计准则,详细了解如何为手腕进行优化。
尊重用户隐私
您的应用必须赢得用户的信任,然后他们才会授予您的应用访问其潜在敏感信息的权限。系统提供了多种方式来帮助用户维护其隐私。
隐私信息中心
从 Wear OS 5 开始,系统支持隐私信息中心。此信息中心为用户提供了每个应用数据使用情况的集中视图,包括以下详细信息
- 正在访问的数据类型,例如位置和麦克风。
- 最近访问这些数据类型的时间。
通过访问这些信息,用户可以更明智地决定哪些应用仍应有权访问其个人数据。为了维护用户信任,请负责任地使用数据,并在收集和使用用户数据时保持透明。
屏幕截图检测
在运行 Wear OS 5 或更高版本的设备上,应用可以使用保护隐私的屏幕截图检测 API。
为任务使用合适的界面
与移动设备相比,Wear OS 拥有更多界面来吸引用户。应用应为这些界面定制其内容。
每个界面都有其自己的用例。如果需要更多操作,请引导用户进入更完整的应用体验。
阅读并了解您的内容如何根据用户需求的优先级在每个界面上进行扩展。以下是天气应用优先级的一个示例。
![]() |
![]() |
![]() |
![]() |
复杂功能 优先级 1:现在天气如何? |
通知 优先级 1:告诉我恶劣天气预警 |
图块 优先级 1:现在天气如何? 优先级 2:今天天气如何? |
应用 优先级 1:现在天气如何? 优先级 2:今天天气如何? 优先级 3:每小时天气详情如何? 优先级 3:偏好设置 |
如需了解更多信息,请阅读我们的用户界面指南。
将通知添加到其他界面
在 Wear OS API 级别 30 及更高版本中,将任何持续通知与 OngoingActivity
配对,即可将该通知添加到 Wear OS 用户界面中的其他界面,以提高与长时间运行活动的互动度。
支持离线场景
虽然 Wear OS 设备通常支持蓝牙和 Wi-Fi,但可能不支持 LTE。请针对网络连接不稳定和离线使用场景(例如用户在家中可能不带移动设备进行锻炼和通勤)进行设计。
提供相关内容
手表几乎总是随用户佩戴。请根据用户的情境(例如他们的时间、地点和活动)更新您的应用内容。
帮助用户通过其他设备完成任务
人们越来越多地拥有多台设备。手表可以帮助人们在分布式设备生态系统中完成任务。审查对您的应用有意义的用例。
改进应用冷启动时的用户体验
为改进应用冷启动时的用户体验,请创建一个具有单独主题的启动活动,并在清单文件中将其 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
以提升用户的应用体验。
支持语音输入
请务必支持语音转文本,因为它在手表上速度更快。您可能还需要支持录制音频。