开发
开发
选择平台

通过资产文件管理下载体积

Meta Horizon 平台为移动应用支持两种类型的资产文件,可帮助您减少 APK 的下载大小。
  • OBB 扩展文件 - 移动应用可以有一个扩展文件,它必须是不透明二进制 blob (OBB) 格式,大小最高可达 4 GB。此文件会在安装时自动下载。
  • 必需资产文件 - 移动应用可以提供多个通用资产文件,它们可以是包括 OBB 格式在内的几乎任何格式。您可以将它们标记为必需资产,以便在安装时下载。
如果要将应用内购买和/或可下载内容与您的应用关联,请参阅附加组件 - 可下载内容和应用内购买
这些文件会在您上传 APK 时上传至 Meta Horizon 商店。以下部分中介绍了这两种类型的详细特征。

OBB 扩展文件

当用户安装您的应用程序时,系统将会自动下载和安装 OBB 扩展。
一个 OBB 扩展文件:
  • 最大可达 4 GB。
  • 您可以在上传时为该文件指定任何名称,它会按此格式重命名:main.[package-name].[version-code].obb
  • 资产文件系统使用文件名来确定是否要在用户的头戴设备上更新 OBB 扩展文件。
多个 OBB 文件:
  • 如果有多个 OBB 文件,您可以使用资产配置文件将其他 OBB 作为必需资产文件上传。
文件会安装在用户设备上的 /sdcard/Android/obb/[package-name] 文件夹中。您可以在此安装位置访问该文件。

必需资产文件

必需资产文件在安装应用时下载。
必需资产文件:
  • 可以是任何格式,带有任何文件扩展名(包括其他 OBB 文件)。
  • 每个最大可达 4 GB,但推荐最大 2 GB。
  • 在应用上传过程中需要用到一个配置文件,该文件会将资产文件标记为必需。
  • 在所有编译版本中应该有相同的文件名。在所有编译版本中使用相同的文件名可以加快补丁更新。只有相同名称的资产文件的更新才会在后续编译版本中下载。
系统不会对必需资产文件重命名,而只是将其安装到设备上的 /sdcard/Android/obb/[package-name] 文件夹中。

应用清单要求

  • 要使用资产文件减少 APK 的下载大小,请确保将应用标记为需要连接网络,这样用户就能从 Meta 上下载必要的文件。
    1. 登录到开发者面板
    2. 选择发布 > 应用提交
    3. 在对话框中选择您的应用,然后按照应用提交页面上的路径进行操作:草稿 > 应用元数据 > 规格 > 网络连接
    4. 选择下载可下载的内容需要连接网络
  • 由于资产文件通常存储在外部存储空间中,所以请确保 Android 清单文件有 READ_EXTERNAL_STORAGE 权限。以下示例显示了清单条目。
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

上传扩展文件和通用资产文件

您必须使用命令行实用程序 (ovr-platform-util) 将所有扩展文件和资产文件与您的 APK 一起上传至商店。
使用 upload-quest-build 上传 Quest 应用。要包含扩展文件,请使用以下其中一个参数。
  • 对于 OBB 扩展文件,请使用 --obb 参数来指定 OBB 文件的路径。
  • 对于必需资产文件或 DLC 资产文件,请使用 --assets_dir 参数来指定包含要上传的资产的目录。
  • 对于也可供购买的 DLC,或对于必需资产,请使用 --asset_files_config 参数来指定配置文件的路径。
在您上传有附带资产的新 APK 时,请确保资产文件和扩展文件的名称与之前上传的同一文件的各个版本保持一致。
包含 OBB 文件和必需资产的移动应用示例:
ovr-platform-util upload-quest-build
-a 12345 // Specifies the app ID for the app you want to upload the build to
-s 1234 // Specifies the app secret for the app you want to upload the build to.
-d path/to/mygame.zip // Specifies the path to the APK file for the Quest build.
--obb path/to/myGame.obb // Specifies the path to the OBB file for the Quest build.
--assets_dir /path/to/myGame/assets // Specifies the directory containing additional asset files for the Quest build.
--asset_files_config /path/to-config-file.json // Specifies the path to a JSON configuration file that lists the required asset files and their metadata.
-c ALPHA // Specifies the release channel for the build (in this case, "ALPHA").

资产配置文件

如果有多个 OBB 文件,请使用资产配置文件,将其他 OBB 作为必需资产文件上传。使用 --asset-files-config 参数时,需加包含一个标识了必需资产的 JSON 文件。
Link PC-VR 设备示例:
{
    "asset1.ext": {
        "required": true
    }
}

对于 Meta Quest 设备

要区分不同 Quest 设备的资产,请使用 supportedDevices 字段来指定要包含哪些资产文件。
以下是您可能上传的文件的示例:
--asset-files-config ~/expansion-files-config.json
{
  "scene_12_Q.obb": {
    "required": true,
    "supportedDevices": ["quest"]
  },
  "scene_12_Q2.obb": {
    "required": true,
    "supportedDevices": ["quest2"]
  },
  "scene_12_shared.obb": {
    "required": true,
    "supportedDevices": ["quest", "quest2"]
  }
}
如需详细了解如何上传包含扩展文件或资产文件的 Meta Quest 应用,请参阅上传 Meta Quest 应用

查看和管理资产文件

要查看开发者面板上的所有扩展文件,请遵循以下步骤。
  1. 选择您的应用程序。
  2. 在左侧导航中,选择发布 > 应用提交
  3. 应用提交页面上的编译版本一栏中,点击您要查看的提交内容的超链接。
  4. 点击扩展文件选项卡。
    该选项卡显示 OBB 文件部分和资产文件 (DLC) 部分。在必需一栏中,表示文件会在安装应用时下载。
    下图显示了该选项卡的示例。
    Dashboard Asset Files
  5. 要编辑/下载文件,请点击必需一栏旁边的省略号按钮。
    您必须使用上传扩展文件部分中描述的命令行实用程序上传新文件。

将扩展文件支持集成到您的应用代码中

您应该通过应用启动代码访问 OBB 文件。您可以在设备的 OBB 目录中找到该文件,OBB 目录可通过 Android Context.GetObbDir 函数进行检索。
文件采用以下命名模式:
/[obb-directory]/[package-name]/main.[version-code].[package-name].obb

在本地测试文件

在本地测试时,需要在主 APK 安装完成后,将安装应用时所需的文件手动推送到 OBB 目录。您可以使用 Android Debug Bridge (ADB) 工具来执行此操作。例如:
  • 移除之前安装的文件:
      adb uninstall com.oculus.demo // Uninstalls the app
      adb shell rm /sdcard/Android/obb/main.1.com.oculus.demo.obb // Removes the previously installed expansion file for the app with specified location.
    
  • 安装 APK 文件:
      adb push -p bundles.apk /data/local/tmp // Pushes the APK file to the device's temporary storage directory.
      adb shell pm install -g /data/local/tmp/bundles.apk // Installs the APK file on the device, granting all runtime permissions requested by the app.
      adb shell rm /data/local/tmp/bundles.apk // Removes the APK file from the device's temporary storage directory after installation.
    
  • 推送新的扩展文件:
      adb push -p main.1.com.oculus.demo.obb /sdcard/Android/obb/ // pushes the new expansion file to the device's OBB directory
    
您可以为 Link PC-VR 应用提供资产文件来帮助减少应用包的下载大小。
  • 通用资产文件,它们可以是在运行时下载的内容,也可以是在安装时下载的必需资产。
如果想为您的应用提供应用内购买和可下载内容,请参阅附加组件 - 可下载内容和应用内购买

必需资产

必需资产在安装应用时下载。
必需资产:
  • 可以是任何格式,带有任何文件扩展名,包括语言包。
  • 每个最大可达 4 GB,但推荐最大 2 GB。
  • 在应用上传过程中需要用到一个配置文件,该文件会将资产文件标记为必需。

将二进制文件和资产文件上传至 Meta Horizon 商店

要上传二进制文件以及资产或语言包,您必须在 Meta Horizon 平台的命令行实用程序中使用 upload-rift-build 命令。要上传资产文件,请使用以下其中一个参数。
在您上传有附带资产文件的新应用时,请确保资产文件的名称与之前上传的同一文件的各个版本保持一致。
  • 对于必需文件,可使用 --assets_dir 参数来指定包含要上传的资产的目录,并使用 --asset_files_config 参数来包含指定必需项目的 JSON 配置文件的路径。
    例如:
    $ ovr-platform-util upload-rift-build -a 12345 -s 1234 -d path/to/mygame.zip --assets_dir /path/to/myGame/assets --asset_files_config /path/to/config-file.json -c ALPHA
    该 JSON 配置文件包含用于将您的 DLC 与您之前定义的应用内购买商品关联的条目,或者用于根据需要识别商品的条目。请注意,每个 SKU 必须解析为您在上一部分中的面板上定义的 SKU。
    例如:
     {
      "asset1.ext": {
          "required": true
      }
     }