方法指南

关于发布和分发 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 版本的应用在功能上与移动版应用过于不同,则应发布到 Android XR 专用发布轨道

发布到 Android XR 专用发布轨道的应用只会向支持 android.software.xr.api.spatial 功能或 android.software.xr.api.openxr 功能的 Android XR 设备显示,让您可以控制分发。

遵循本指南,有助于确保您的创新型 Android XR 应用提供优质的用户体验、高效打包、使用 PAD 顺利交付,并面向能够运行这些应用的设备。祝您发布顺利!

作者:

继续阅读