兼容性层级定义
为确保您的应用在 Android XR 设备上提供出色的用户体验,请查看以下兼容性核对清单和测试。
这些核对清单和测试定义了一套全面的质量要求,适用于大多数类型的 Android 应用。
与 Android XR 兼容的移动应用
Android XR 兼容的移动应用是指现有的移动应用,但尚未经过修改以适应大屏幕或任何其他设备规格。只要此类应用不需要任何不受支持的功能(例如电话),便会自动与 Android XR 兼容。用户可以完成关键任务流程,但用户体验不如差异化的 Android XR 应用。
此类应用在用户环境中的面板上以全屏模式运行,但其布局在较大尺寸下可能并不理想。在清单中指定了紧凑型尺寸的应用会相应显示。应用不在兼容模式下运行,因此不会出现信箱模式。该应用具有 Android XR 提供的核心输入模态(眼动追踪 + 手势或光线投射手)的功能体验,并为外部输入设备(包括键盘、鼠标、触控板和游戏控制器)提供基本支持。可能能够调整大小,也可能无法调整大小。
Android XR 兼容的移动应用会自动选择启用,并可在 Google Play 商店中下载。如果应用因功能要求不受支持而不兼容,则无法通过 Play 商店安装。
与 Android XR 兼容的大屏应用
Android XR 兼容的大屏应用是指第 1 层级或第 2 层级的大屏应用,该应用针对所有屏幕尺寸和设备配置(例如,除了移动设备之外的大屏设备)实现了布局优化,并针对外部输入设备和多任务处理提供增强型支持。Android XR 兼容的大屏幕应用会自动选择启用,并可在 Play 商店中使用。
与 Android XR 兼容的大屏应用在用户环境中的空间面板上以 1024dp × 720dp 的全屏模式运行。用户将能够通过眼睛和手自然地与应用互动,但除此之外,其他方面与大屏应用非常相似。
Android XR 差异化应用
Android XR 差异化应用的用户体验是专门为 XR 设计的,并且实现了仅在 XR 上提供的功能。您可以利用 Android Jetpack XR SDK、Unity 或 OpenXR 进行开发,从而向应用添加 XR 功能(例如空间面板)和 XR 内容(例如 3D 视频),充分利用 Android XR 功能,打造与众不同的应用体验。
您可以使用 Jetpack XR SDK 提供 XR 特有的功能,包括空间面板、环境、3D 模型、空间音频、3D / 空间视频 / 照片、锚点和其他空间界面(例如轨道器)。
如要被视为 Android XR 差异化应用,应用必须实现至少一项 XR 特有的功能或 XR 特有的内容。在某些使用情形下,可能需要满足更多功能和内容要求。详情请参见下文。
使用 Unity 或 OpenXR 构建的所有应用都被视为差异化应用。使用 Unity 或 OpenXR 构建的应用必须满足质量指标和最低要求,才能被视为 Android XR 差异化应用。例如,帧速率低、会崩溃或存在其他负面用户体验的应用不符合条件。
Android XR 兼容性核对清单
这些兼容性核对清单定义了一些标准,可帮助您评估应用针对 XR 提供的支持服务级别。支持服务级别包括:
与 Android XR 兼容的移动应用
您的应用必须满足核心应用质量要求。
您的应用还应遵守适用于其他设备类型(例如手机和平板电脑)的所有相关无障碍指南(例如颜色对比度)。
与 Android XR 兼容的大屏应用
任何大屏设备第 1 层级或第 2 层级应用都被视为与 Android XR 兼容的大屏设备应用。大屏设备应用质量指南提供了一种结构化方法来确保在 Android XR 上获得出色的体验,但无需考虑旋转或折叠/展开等设备状态。 同样,Android XR 不支持触控笔。
Android XR 差异化应用
由于 Android XR 差异化应用的差异化很大,因此列出的某些功能仅适用于特定类型的应用。选择适合您应用的功能。Android 应用还必须遵守大屏设备 / 移动 Android 指南。查看适合您应用的相应要求(其中一些要求也可能会成为潜在的政策更新)。
应用类型 / 使用情形 |
类别 |
领域 |
指南 |
---|---|---|---|
一般基准要求(Android 和 OpenXR) |
隐私权与安全 |
账号登录(首次体验) |
如果您的应用使用登录系统,请在成功完成身份验证后,清晰地显示用户的登录凭据(例如,用户名凭据)。通过确认活跃账号来建立信任。此外,还应提供一个易于访问的菜单或设置页面,以便用户随时查看和管理自己的账号信息。 |
安全与舒适 |
频闪 |
为确保所有用户的安全和健康,请务必尽量降低应用内频闪效应的风险。 避免有意纳入可能会导致频闪的任何设计元素。 1. 如果确实需要使用频闪效果,请确保闪烁频率非常低(每秒闪烁次数低于 3 次),并且闪烁区域较小且不明显。 2. 考虑提供通过设置或偏好设置停用该功能的功能。 3. 在任何频闪发生之前显示清晰的警告消息。 |
|
避免晕动症 |
请遵循以下准则,以免用户出现晕动症:
|
||
输入 |
互动目标的大小 |
可互动目标的最小尺寸和建议尺寸取决于预期的互动距离:
使用 Jetpack XR SDK 时,我们建议触摸目标的大小至少为 48 x 48dp,最好为 56 x 56dp 或更大。 |
|
XR 技术功能 |
手势输入 |
您的应用支持自然手部输入,作为 Android XR 的基准互动方法,包括手部光线投射要求和对输入原语的手势支持。 您的应用无需控制器即可畅玩或使用,但如果您选择使用控制器,则可以增强应用体验。 |
|
Boundary(以前称为 Guardian) |
如果应用希望用户从其起点(应用启动时)在实体空间中移动,则会请求透传或在清单中声明 如果您的应用使用 |
||
性能 |
渲染 |
应用渲染每帧的时间介于 <11.1 毫秒(90 赫兹)和 <13.8 毫秒(72 赫兹)之间。 |
|
分辨率 |
您的应用的分辨率至少为 1856 x 2160(每只眼睛)。 |
||
应用启动时间 |
用户希望能够尽快与您的应用或游戏互动。良好的启动或加载时间的定义因类别而异,但总的来说,我们建议尽可能缩短启动和首次互动之间的时间。 请参阅下方的目标时长:
如需了解详情,请参阅应用启动时间。 |
||
ANR |
应用不会崩溃,也不会因阻塞界面线程而导致出现 ANR(“Android 无响应”)错误。 在 99.5% 的活跃日中,您的应用发生 ANR 的次数不到 1 次。 您的应用使用 Google Play 的发布前测试报告来发现潜在的稳定性问题。部署后,请留意 Google Play 管理中心内的“Android Vitals”页面。 |
||
崩溃率 |
不要消耗过多的系统资源,以免影响系统的其余部分和其他应用,并保持约 1% 的崩溃率。 |
||
Android 应用基准(XR 差异化) |
视觉效果和用户体验 |
基本 XR |
您的应用实现了至少一项 XR 专用功能或 XR 专用内容,以提升用户体验。这可以包括轨道飞行器、一个或多个空间面板、环境或 3D 对象。 |
空间面板 |
使用面板执行多项任务(即同时完成两项或更多任务)时,请创建单独的空间面板。例如,您可以为聊天窗口和列表创建单独的空间面板。 |
||
环境 |
在显示虚拟环境时,亮度过高可能会让人分心和疲劳。您的应用呈现安全的色调范围,亮度不会出现与界面冲突或可能导致用户疲劳的峰值。界面在所有方向上都清晰可辨,尤其是在用户目光的中间水平带内。(详细准则将在日后添加链接) |
||
在 Home Space (HSM) 和 Full Space (FSM) 之间转换 |
当用户进入 Full Space 时,您的应用会提供一个入口点,以便用户在 Home Space 和 Full Space 之间快速切换。使用图标或标签,并将按钮放置在易于访问的位置。 |
||
空间面板 |
将菜单、素材资源和控件放置在专用面板或轨道球中。请勿在主编辑面板中添加这些组件。 |
||
菜单 / 列表滚动 |
您的应用更新了滚动互动(尤其是通过轮播界面或垂直列表进行的滚动互动),使其具有物理效果或动量。例如,滚动会产生动量,导致轮播界面和列表中的内容在用户互动后继续移动一小段时间,然后逐渐停止(而不是在用户停止输入时立即停止)。 |
||
视频 / 媒体功能 |
视觉效果和用户体验 |
Spatial Player(仅限 Android) |
您的应用允许用户在 Full Space 中观看内容。 从内容顶部的叠加层中移除播放控件,并将其放置在专用面板或轨道球中。 对于播放视频的面板,请设置宽高比以移除信箱模式。 |
空间音频 |
考虑支持空间音频,包括面板锁定音频或环绕声。 |
||
同时观看多个视频 |
如果您的应用支持多个同步视频流,则用户界面应明确显示以下信息:
|
||
环境 |
在 Full Space 中播放内容时,您的应用允许用户调暗透视功能或选择虚拟环境。 |
OpenXR™ 和 OpenXR 徽标是 The Khronos Group Inc. 拥有的商标,已在中国、欧盟、日本和英国注册为商标。