操作指南

关于发布和分发 Android XR 应用,您需要了解的 5 件事

4 分钟阅读时间
Jan Kleinert
开发者关系工程师

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.spatialandroid.software.xr.api.openxr,以指明您是使用 Jetpack XR SDK 进行构建,还是使用 OpenXR 或 Unity 进行构建。

使用的 SDK清单声明
Jetpack XR SDKandroid.software.xr.api.spatial
OpenXR 或 Unityandroid.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 顺利分发,并面向可以运行这些应用的设备。祝您发布顺利!

作者:

继续阅读