Samsung Galaxy XR 现已推出,由 Android XR 提供支持!这篇博文是我们 Android XR Spotlight Week 系列文章的一部分,我们提供了各种资源(博文、视频、示例代码等),旨在帮助您学习、构建和准备 Android XR 应用。
今天,我们将重点介绍开发过程中的最后几个步骤之一,确保这些体验成功触达用户。正确发布可确保您的应用得到高效打包、被合适的设备发现,并以最佳方式呈现。
以下是关于在 Google Play 上发布和分发 Android XR 应用,您需要了解的 5 件事。
1. 遵循 Android XR 应用质量指南,确保应用质量
在发布之前,最重要的步骤之一是确保您的应用提供安全、舒适且高性能的用户体验。
遵循 Android XR 应用质量指南有助于确保您的应用在 Galaxy XR 等设备上为用户提供出色的体验。
为什么质量很重要
这些指南以大屏设备应用质量指南为基础,重点关注特定于 XR 的关键标准,包括:
- 安全性和舒适度 :这一点至关重要。这些指南通过为相机移动和帧速率设置标准,并限制闪烁等视觉元素,帮助您避免引起晕动症。
- 性能 :您的应用必须达到性能指标(例如目标帧速率),以防止延迟并确保流畅、舒适的体验。
- 互动 :这些指南指定了互动目标(例如,最小 48dp,建议 56dp)的建议最小尺寸,以便与眼动追踪和手部追踪输入良好配合。
2. 正确配置应用清单
AndroidManifest.xml 文件描述了有关应用的重要信息。Android 构建工具、Android 系统和 Google Play 会使用此信息来了解您构建的体验类型以及所需的硬件功能。正确配置对于正确定位设备和启动应用至关重要。
指定应用使用的 Android XR SDK
在应用清单中,添加 android.software.xr.api.spatial 或 android.software.xr.api.openxr,以指明您是使用 Jetpack XR SDK 进行构建,还是使用 OpenXR 或 Unity 进行构建。
| 使用的 SDK | 清单声明 |
| Jetpack XR SDK | android.software.xr.api.spatial |
| OpenXR 或 Unity | android.software.xr.api.openxr |
如果您的应用是使用 OpenXR 或 Unity 构建的,则必须将 android:required 属性设置为 true。对于使用 Jetpack XR SDK 构建的应用,如果您的应用发布到 Android XR 专用发布轨道,请将 android:required 属性设置为 true;如果您的应用发布到移动发布轨道,请将 android:required 属性设置为 false 。
设置 activity 启动模式
在主 activity 中使用 android.window.PROPERTY_XR_ACTIVITY_START_MODE 属性来定义默认用户环境:
| 启动模式 | 用途 | SDK |
XR_ACTIVITY_START_MODE_HOME_SPACE | 在主共享空间(共享多任务处理环境)中启动应用。 | Jetpack XR SDK |
XR_ACTIVITY_START_MODE_FULL_SPACE_MANAGED | 在全沉浸空间(完全沉浸式单应用环境)中启动。 | Jetpack XR SDK |
XR_ACTIVITY_START_MODE_FULL_SPACE_UNMANAGED | 在全沉浸空间(完全沉浸式单应用环境)中启动。请注意,使用 OpenXR 或 Unity 构建的应用始终 在全沉浸空间中运行。 | OpenXR 或 Unity |
在运行时检查可选硬件功能
除非您的应用确实需要可选的 XR 功能(例如手部追踪或控制器),否则请避免将这些功能设置为 android:required="true"。如果设备不支持所需的功能,Google Play 会在该设备上隐藏您的应用。如果您将某些功能设置为必需,但您的应用在没有这些功能的情况下也能运行,那么您可能会不必要地限制受众群体。
相反,请使用 PackageManager 类和 hasSystemFeature() 在运行时动态检查高级功能:
Kotlin val hasHandTracking = packageManager.hasSystemFeature("android.hardware.xr.input.hand_tracking") if (hasHandTracking) { // Enable high-fidelity hand tracking features } else { // Provide a fallback experience }
这可确保您的应用具有广泛的兼容性,并在高级功能可用时加以利用。
3. 使用 Play Asset Delivery (PAD) 分发大型资源
沉浸式应用和游戏通常包含可能超出标准 大小限制 的大型资源。使用 Play Asset Delivery (PAD) 管理大型高保真资源。PAD 提供灵活的分发模式:安装时分发、快速跟进式分发和按需分发,以便逐步下载内容。为 Android XR 构建的应用可以分发额外的资源包:这些应用按需分发或快速跟进式分发的资源包的累计总大小为 30 GB,而不是 4 GB。
对于使用 Unity 进行构建的开发者,请将 Unity Addressables 与 Play Asset Delivery 搭配使用,以管理资源包。
4. 使用空间视频预览展示应用
如需吸引在 XR 头戴设备上浏览 Play 商店的用户的注意力,您可以使用空间视频资源提供应用的沉浸式预览。这必须是 180°、360° 或立体视频。在 Android XR 设备上,Play 商店会自动将其显示为沉浸式 3D 预览,让用户在安装应用之前体验内容的深度和规模。
5. 选择 Google Play 发布轨道
Google Play 提供了两种发布 Android XR 应用的方式,这两种方式都使用同一个 Play 管理中心账号:
选项 A:在移动发布轨道上继续发布(适用于空间化移动应用)
如果您要向现有移动应用添加空间 XR 功能,通常可以将 XR 功能或内容捆绑到现有的 Android App Bundle (AAB) 中。
如果您的应用在移动设备和 XR 设备上保留了大部分核心功能,并且您可以继续将同一 AAB 发布到移动轨道,则此方法非常适合。请查看 此指南,确保您正确配置了应用的清单文件以支持此用例。
选项 B:发布到 Android XR 专用发布轨道
如果您要为 XR 构建全新的应用,或者 XR 版本的应用在功能上与移动版本差异太大,无法使用单个 AAB,则应发布到 Android XR 专用发布轨道。
发布到 Android XR 专用发布轨道的应用仅对支持 android.software.xr.api.spatial 功能或 android.software.xr.api.openxr 功能的 Android XR 设备可见,让您可以控制分发。
遵循本指南有助于确保您的创新型 Android XR 应用提供优质的用户体验、得到高效打包、使用 PAD 顺利分发,并定位到可以运行这些应用的设备。祝您发布顺利!
-
操作指南欢迎回到“构建智能 Android 应用”系列博文,我们将在此系列中介绍如何将基本的 Android 应用转变为个性化、智能化的智能体体验。在上一篇博文中,我们介绍了 Jetpacker,这是我们将在本系列中使用的演示版应用。
Caren Chang • 6 分钟阅读时间 -
操作指南欢迎回到“构建智能 Android 应用”系列博文,我们将在此系列中介绍如何将基本的 Android 应用转变为个性化、智能化的智能体体验。
Thomas Ezan, Jolanda Verhoef, Caren Chang • 8 分钟阅读时间 -
操作指南Jetpacker 是一款技术展示应用,由我们的团队为今年的 Google I/O 大会从头开始构建(使用 Antigravity 构建)。Jetpacker 的核心功能是帮助用户规划、探索和享受下一次大型冒险。
Jolanda Verhoef • 4 分钟阅读时间
每周通过电子邮件接收最新的 Android 开发洞见 每周。