Разработка
Разработка
Выберите платформу

Файлы объектов для управления размером загрузки

Платформа Meta Horizon поддерживает два типа файлов объектов для мобильных приложений, чтобы уменьшить размер скачиваемого APK.
  • Файлы расширения OBB — мобильные приложения могут иметь один файл расширения в формате opaque binary blob (OBB) размером до 4 ГБ. Этот файл автоматически скачивается во время установки.
  • Обязательные файлы объектов — мобильные приложения могут предоставлять несколько общих файлов объектов практически в любом формате, в том числе OBB. Вы помечаете их как обязательные объекты, чтобы они скачивались во время установки.
Tip
Если вы хотите связать с приложением покупки в приложении и (или) скачиваемый контент, обратитесь к статье Дополнения — скачиваемый контент и покупки в приложении.
Эти файлы загружаются в Meta Horizon Store, когда вы загружаете свой APK. Подробные характеристики этих двух типов см. в следующих разделах.

Файл расширения OBB

Расширение OBB автоматически скачивается и устанавливается, когда пользователь устанавливает приложение.
Один файл расширения OBB:
  • может иметь размер до 4 ГБ;
  • во время загрузки вы можете дать ему любое имя, затем он будет переименован в следующем формате: main.[package-name].[version-code].obb;
  • по имени файла файловая система файлов объектов определяет, нужно ли обновлять файл расширения OBB на гарнитуре пользователя.
Несколько файлов OBB:
  • Если у вас несколько файлов OBB, вы можете загрузить дополнительные OBB в качестве обязательных файлов объектов с помощью файла конфигурации объектов.
Файл устанавливается на устройство пользователя в папку /sdcard/Android/obb/[package-name]. Вы можете найти его в этом месте установки.

Обязательные файлы объектов

Обязательные файлы объектов скачиваются во время установки приложения.
Обязательные файлы объектов:
  • Могут иметь любой формат и любое расширение (в том числе OBB).
  • Могут иметь размер до 4 ГБ (рекомендуется не более 2 ГБ).
  • Требуют наличия файла конфигурации в процессе загрузки приложения, который отмечает элемент как обязательный.
  • Должны иметь одинаковое имя файла во всех версиях сборки. Использование одинакового имени файла во всех версиях сборки позволяет быстрее обновлять пакеты исправлений. В последующих версиях сборок будут скачиваться только изменения в файлах объектов с одинаковыми именами.
Обязательные файлы объектов не переименовываются системой и устанавливаются на устройство в папку /sdcard/Android/obb/[package-name].

Требования к манифесту приложения

  • Чтобы уменьшить размер скачиваемого APK с помощью файлов объектов, убедитесь, что для вашего приложения указано, что оно требует подключения к Интернету. Так пользователи смогут скачивать обязательные файлы с Meta. Войдите на панель разработчика. Выберите Распространение > Отправка приложений. Выберите свое приложение в диалоге и следуйте пути, указанному на странице отправки приложений: Draft (Черновик) > App Metadata (Метаданные приложения) > Specs (Спецификации) > Internet Connection (Подключение к Интернету). Выберите Internet connection required for downloadable content (Для скачиваемого контента требуется подключение к Интернету).
  • Убедитесь, что в файле манифеста Android имеется разрешение READ_EXTERNAL_STORAGE, поскольку файлы объектов обычно хранятся на внешних носителях. В следующем примере показана соответствующая запись манифеста.
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

Загрузка расширений и общих файлов объектов

Вы должны загрузить все файлы расширений и объектов вместе с APK в Магазин с помощью утилиты командной строки (ovr-platform-util).
Для загрузки приложений Quest используйте команду upload-quest-build. Чтобы добавить файлы расширения, используйте один из следующих параметров.
  • Для OBB-файла расширения укажите путь к файлу OBB в параметре --obb
  • Для обязательных файлов объектов и скачиваемого контента укажите каталог, содержащий объекты для загрузки, в параметр --assets_dir.
  • Для скачиваемого контента, который также доступен для покупки, или для обязательных объектов укажите путь к файлу конфигурации в параметре --asset_files_config.
Important
При загрузке новых 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 и Файлы объектов (скачиваемый контент). Значение Да в колонке Обязательный указывает на то, что файл скачивается во время установки приложения.
    На рисунке ниже показан пример вкладки.
    Dashboard Asset Files
  5. Чтобы отредактировать или скачать файл, нажмите кнопку с тремя токами рядом с колонкой Обязательный.
    Новые файлы необходимо загружать с помощью утилиты командной строки, описанной в статье Загрузка файлов расширения.

Интеграция поддержки файла расширения в код приложения

Вы должны получать доступ к файлу OBB в коде запуска приложения. Файл находится в каталоге OBB вашего устройства, который можно получить с помощью функции Android Context.GetObbDir.
Имя файла имеет следующий вид:
/[obb-directory]/[package-name]/main.[version-code].[package-name].obb

Тестирование файлов локально

При локальном тестировании файлы, которые требуются во время установки приложения, необходимо вручную поместить в каталог OBB после установки основного APK. Для этого можно использовать инструмент 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 ГБ (рекомендуется не более 2 ГБ).
  • Требуют наличия файла конфигурации в процессе загрузки приложения, который отмечает элемент как обязательный.

Загрузка двоичного файла объектов в магазин Meta Horizon

Чтобы загрузить двоичный файл объектов или языковых пакетов, вы должны использовать утилиту командной строки платформы Meta Horizon и команду upload-rift-build. Чтобы загрузить файлы объектов, используйте один из следующих параметров.
Important
При загрузке новых приложений с файлами объектов убедитесь, что файлы объектов имеют те же имена, что и ранее загруженные версии этих файлов.
  • Для обязательных файлов укажите каталог с загружаемыми объектами в параметре --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-файл конфигурации содержит записи, позволяющие связать скачиваемый контент с ранее определенными элементами ПВП или идентифицировать элемент по мере необходимости. Обратите внимание: SKU должны соответствовать тем SKU, которые вы определили на панели в предыдущем разделе.
    Пример:
     {
      "asset1.ext": {
          "required": true
      }
     }
    
Логотип навигации
Русский
© 2026 Meta