Как создать bundle файл

Обновлено: 07.07.2024

Так как тут многие хотят знать как распаковывать .bundle файлы, я решил выложить свой небольшой FAQ по тому как это делать.

И так, начнем, для начала нам понадобятся две программы- это quickbms для распаковки и упаковки архивов, и любая прога для изменения размера файлов, потому что quickbms не хочет упаковывать файлы обратно в архив если размер измененного файла не будет совпадать с оригиналом, для этой цели я использую hex editor neo, обе программы есть в прикрепленном архиве.

Далее нам нужен игровой архив который мы хотим распаковать, я покажу на примере файла "patch.bundle" найти его в папке с игрой не составит труда (путь для особо ленивых: "The Witcher 3 Wild Hunt\content\patch0\bundles\patch.bundle"), кидаем файл "patch.bundle" в папку с quickbms чтобы было удобней, и заодно делаем бэкап этого файла на случай вашей криворукости.

Теперь попытаемся распаковать наш "patch.bundle" файл, вот что для этого нужно:

1) запустить "quickbms.exe".

2) выбрать скрипт который нужен для распаковки, а именно "witcher.bms" (есть в папке с quickbms).

3) выбрать игровой архив "patch.bundle" (этот файл для удобства скинуть в папку с quickbms)

4) выбрать место для распаковки файлов (место желательно должно быть в папке с quickbms).

5) дождаться завершения распаковки.

Все, теперь можно рыться в нужных нам файлах, но прежде что-либо менять в файлах нужно помнить что quickbms не упакует все обратно если размер измененного файла не будет совпадать с оригиналом, как я и писал выше, и чтобы этого избежать делаем следующее:

1) обязательно сохраните копию изменяемого файла чтобы знать точный размер в байтах! (или просто запомните) посмотреть его можно в свойствах файла.


2) откройте программу Hex Editor Neo (для начала её нужно установить).

3) откройте измененный файл.


4) откройте вкладку "правка"- "изменить размер файла"


5) в открывшемся окне введите точный размер оригинального файла и нажмите "ОК".


6) сохраните файл. (думаю не нужно объяснять как это делать).

Теперь будем упаковывать измененные файлы, прежде чем это делать нужно кое-что знать:

1) можно удалить из папки все файлы которые мы не собираемся изменять (для ускорения упаковки),

2) не нужно менять путь изменяемого файла, то-есть он должен оставаться там куда он был распакован, иначе ничего не выйдет.

если эти пункты выполнены, то можно упаковывать файлы обратно в игровой архив, для этого нужно:

1) запустить файл reimport.bat.

2) выбрать скрипт "witcher.bms".

3) выбрать игровой архив "patch.bundle"

4) выбрать папку куда мы распаковывали игровой архив (НЕ файл, а именно папку, например "quickbms\Unpack").

5) дождаться завершения упаковки.

Всё, если все сделано правильно, можно закидывать "patch.bundle" в папку с игрой.

Надеюсь что я описал всё достаточно понятным языком, осталось только пожелать вам удачи и прямых рук)

На недавно прошедшей Google I/O 2018, среди множества нововведений, объявили также о добавлении нового формата приложений.

Этот формат получил название Android App Bundle и представляет собой улучшенный способ сборки вашего приложения. С его помощью можно легко оптимизировать размер приложения, при этом не нужно будет вносить какие-либо изменения в код. Android App Bundle включает весь скомпилированный код и ресурсы, отсеивая затем то, что не нужно конкретному устройству.

Важно! На данный момент Android App Bundle работает только в preview-версии Android Studio. Последняя версия Android Studio 3.2 Canary доступна здесь.

Android App Bundle представляет собой файл (с расширением .aab), который загружается в Google. Каждый бандл включает скомпилированный код и ресурсы для всех модулей приложения и поддерживаемых конфигураций устройств.

Проще говоря, бандлы это подписанные ZIP-файлы, которые упорядочивают код и ресурсы приложения в модули.


Из этих модулей Google Play генерирует различные APK, которые предоставляются пользователям, такие как: базовые APK, dynamic feature APK, конфигурационные APK и (для устройств, которые не поддерживают разделённые APK) мульти-APK. Каталоги, окрашенные в синий цвет, представляют собой код и ресурсы, которые Google Play использует для создания конфигурационного APK для каждого модуля.

Примечание: бандл нужно создавать для каждого уникального приложения или applicationID. То есть, если вы используете несколько product flavor в своём приложении для создания различных APK, и каждая из этих веток использует уникальный applicationID, то вам нужно будет создать отдельный бандл для каждой ветки.

Код и ресурсы для каждого модуля организованы аналогично стандартным APK, и это логично, поскольку каждый из этих модулей может быть сгенерирован как отдельный APK. Ниже можно увидеть более подробное описание некоторых файлов и каталогов Android App Bundle:

  • base/, feature1/, feature2/. Каждый из этих каталогов представляет собой модуль приложения. Базовый модуль приложения всегда содержится в базовом каталоге бандла. Директории же с дополнительными особенностями, каждой из которых присваивается специальное имя, находятся отдельно.
  • файлы Protocol Buffer (.pb). Эти файлы содержат метаданные, которые помогают описать содержимое бандла в магазинах приложений. Например, BundleConfig.pb, находящийся в корневом каталоге бандла, предоставляет информацию о самом бандле, например, какая версия build tools используется для сборки. Другие файлы, такие как recourse.pb и native.pb, описывают, как определённый код и ресурсы должны использоваться для различных конфигураций устройств. Google Play использует эту информацию для генерации APK, оптимизированного для устройства пользователя.
  • manifest/. В отличие от APK, бандлы хранят файл AndroidManifest.xml каждого модуля в отдельном каталоге.
  • dex/. В отличие от APK, бандлы хранят DEX-файлы каждого модуля в отдельном каталоге.
  • root/. Этот каталог хранит файлы, которые позже перемещаются в директорию root любого APK, который включает в себя модуль, в котором находится этот каталог. Например, каталог base/root/ бандла может включать ресурсы Java, которые загружаются приложением с помощью использования Class.getResources(). Эти файлы позже перемещаются в директорию root APK приложения и каждого мульти-APK, которые генерирует Google Play. Пути в этом каталоге также сохраняются, то есть, подкаталоги тоже перемещаются вместе с root.
    Примечание: если содержимое этого каталога конфликтует с другими файлами и каталогами в корне APK, Play Console отклонит загрузку бандла. Например, вы не сможете включить каталог root/lib/, поскольку он будет конфликтовать с каталогом lib, уже находящимся в APK.
  • res/, lib/, assets/. Эти каталоги идентичны тем, что используются в стандартном APK. При загрузке приложения, Google Play проверяет в этих каталогах и пакетах только те файлы, которые соответствуют конфигурации целевого устройства.


Если создаётся бандл для debug-версии приложения, Android Studio автоматически подпишет бандл с помощью отладочного ключа подписи. Для загрузки бандла в Google Play он должен быть подписан.

После того, как Android Studio завершит создание подписанного бандла, его можно будет открыть и проанализировать. Анализ бандла позволяет проверить содержимое и работает аналогично APK Analyzer.

Для создания App Bundle IDE использует тот же инструмент с открытыми исходным кодом, называемый bundletool, который Google Play использует для последующего преобразования бандла в подписанные APK.

Прежде чем загрузить бандл в консоль Google Play, его нужно подписать. Чтобы создать подписанный App Bundle, нужно выполнить следующие действия:

После того, как Android Studio завершит создание подписанного бандла, его можно будет найти и проанализировать, выбрав соответствующую опцию во всплывающем уведомлении. Если был выбран экспорт ключа подписи, то к нему можно будет быстро перейти, щёлкнув по стрелке вниз в правом нижнем углу всплывающего уведомления, чтобы развернуть его, и затем выбрав Show Exported Key File.


После того, как бандл создан, его можно загрузить в Google Play для проверки, тестирования или публикации приложения. Прежде чем приступить к работе, следует соблюсти следующие условия:

  1. Зарегистрироваться в программе Google Play App Signing.
  2. Если приложение включает dynamic feature modules, то его можно загружать и тестировать через внутренний тестовый трек консоли Google Play. Однако чтобы опубликовать приложение, нужно принять программу Dynamic Feature, которая на данный момент находится в стадии бета-версии.
  3. Google Play поддерживает загрузку приложений размером не более 100 МБ.

Анализ APK с помощью проводника

Когда бандл загружен, Google Play автоматически генерирует разделённые APK и мульти-APK для всех конфигураций устройств, поддерживаемых приложением. В Play Console можно можно использовать App Bundle Explorer для просмотра всех вариантов APK, сгенерированных Google Play; анализа данных, таких как поддерживаемые устройства и экономия размера APK; загрузки созданных APK для тестирования.

Обновление приложения

После загрузки приложения в Play Console, для обновления приложения достаточно повысить код версии, а также создать и загрузить новый бандл. Затем Google Play сгенерирует обновлённые APK с новым кодом версии и будет предоставлять их по мере необходимости.


Кроме того, Google на данный момент тестирует дополнение к App Bundle, Dynamic feature modules, с помощью которого можно разбивать базовый APK на части, которые будут докачиваться при необходимости, пока что эта технология находится в бета-версии.

Возможно, единственным недостатком банлдов на данный момент назвать необходимость использовать preview-версию Android Studio, однако эта проблема временная.

В предыдущих версиях MVC мы могли стандартным образом подключать скрипты и стили, например:

Фреймворк MVC для настройки путей предлагает нам использовать URL-хелперы:

Использование бандлов представляет совсем другой подход к использованию скриптов и стилей. При создании нового проекта MVC4 по шаблону Basic или Internet Application функциональность бандлов уже по умолчанию включается в приложение. Если вы посмотрите на стандартный код мастер-страницы _Layout.cshtml, то увидите совсем иной способ подключения скриптов и стилей:

В данном случае подключаются не конкретные скрипты и стили, а именно бандлы. С помощью хелпера Styles.Render подключаются бандлы стилей, а с помощью хелпера Scripts.Render . Эти хелперы принимают в качестве параметра имя бандла.

По умолчанию проекты MVC4 (исключая проекты Empty) уже содержат регистрацию бандлов - в файле BundleConfig.cs, который находится в папке App_Start:

Здесь метод RegisterBundles добавляет все создаваемые бандлы в коллекцию bundles . Объявление бандла выглядит следующим образом: new ScriptBundle("

В конструктор ScriptBundle передается виртуальный путь бандла. А с помощью метода Include уже включаются в данный бандл конкретные файлы скриптов.

/Scripts/jquery-.js" параметр является заменителем для любого символьного обозначения версии скрипта. Это очень удобно, поскольку через некоторое время мы можем поменять версию библиотеки, но при этом в коде нам ничего не придется менять, так как система уже автоматически примет новую версию.

/Scripts/jquery.validate*" с помощью знака звездочки заменяет остальную часть строки. Например, это выражение подключит в бандл сразу два файла: jquery.validate.js и jquery.validate.unobtrusive.js (и их минимизированные версии), так как их названия начинаются с jquery.validate*" .

То же самое касается и создания бандлов стилей, только в этом случае используется класс StyleBundle .

Однако само объявление бандлов в файле BundleConfig.cs еще не подключает автоматически их в проект. Для этого в файле Global.asax прописывается соответствующая директива:

Таким образом, мы и регистрируем бандлы для нашего приложения.

Минификация

Ключевым моментом концепции бандлов является минификация. Ее суть состоит в том, что при развертывании приложения клиенту отдается не полная, а минимизированная версия скриптов или стилей. За счет чего экономятся ресурсы сервера, так как идет отдача файла с меньшим объемом. В то же время в процессе отладки приложения мы приложение отдает обычную версию, поскольку благодаря ей, нам проще разобраться в возможных ошибках. Посмотрим на примере. Вот у меня есть некоторая мастер-страничка, которая подключает кучу бандлов:

В данном случае я подключаю пять бандлов. Если запустить теперь приложение, то через средства разработчика в IE10 я могу увидеть скрипты, которые несут бандлы:


В данном случае у нас по умолчанию приложение находится в режиме отладки. В файле web.config можно найти следующую секцию:

Параметр debug="true" указывает, что приложение запускается в режиме отладки. Теперь изменим его значение на false: debug="false" и перезапустим проект. Теперь мы увидим несколько иной результат:


И если вы посмотрите, например, в том же IE10 в средствах разработчика заголовки ответа, то вы увидите, что в этот раз в режиме развертывания сервер отдает нам минимизированный файл:


Таким образом, использование бандлов в проектах MVC4 повышает эффективность веб-приложения.

Можно разделить на два пункта:
1. Это файл, существующий на жестком диске. Его можно назвать сжатым пакетом. Этот сжатый пакет можно рассматривать как папку, содержащую несколько файлов. Эти файлы можно разделить на две категории: сериализованные файлы и файлы ресурсов. (Сериализованные файлы и исходные файлы)
сериализованный файл: ресурс разбивается на объект и, наконец, записывается в один файл (только один).
файлы ресурсов: некоторые двоичные ресурсы (изображения, звуки) сохраняются отдельно для быстрой загрузки.
2. Это объект AssetBundle, который можно загрузить из конкретного сжатого пакета с помощью кода. Этот объект содержит все содержимое, которое мы добавили в сжатый пакет, и мы можем загрузить его и использовать через этот объект.

Пример упаковки ресурсов Asset Bundle

Независимо от того, являются ли это ресурсы модели или ресурсы пользовательского интерфейса, лучше всего сначала поместить их в Prefab, а затем превратить их в Assetbundle. Возьмем модель в качестве примера. Одна или несколько моделей могут быть помещены в Assetbundle. Он очень гибкий, поэтому самое важное, что нужно учитывать, - это занимаемое пространство модели.

Давайте возьмем реальную операцию. Сначала создайте два 3D-объекта, Cube и Capsule, и превратите их в Prefab, а затем перейдите к указанию свойства AssetBundle ресурса. Здесь я упакую эти две модели в пакет model.ab.
(xxxa / xxx) Здесь xxxa сгенерирует каталог с именем xxx, а следующий ab - суффиксное имя, которое можно настроить.


После настройки свойств начните сборку пакета AssetBundle. Сначала создайте папку с именем Editor. Эта папка является специальной папкой расширения редактора, которая не будет упакована. Затем мы создаем класс расширения редактора CreateAssetbundles. Напишите следующий код

Затем вернитесь в Unity и нажмите кнопку пакета, которую мы только что расширили.


После щелчка наша модель упакована. Вы можете найти каталог AssetBundles в каталоге проекта. В AssetBundles есть папка Scene, которая содержит наши упакованные файлы с расширением .ab.


Загрузка AssetBundle

Есть несколько способов загрузить AssetBundle: LoadFromMemoryAsync используется для загрузки из памяти, LoadFromFile может использоваться для загрузки из локальных файлов, а UnityWbRequest может использоваться для загрузки из Интернета на сервер. Давайте посмотрим на эти способы загрузки.
Сначала удалите Prefab Cube и Capsule двух моделей в нашем Unity, затем создайте скрипт, который будет висеть на камере, и откройте скрипт.

Первый метод загрузки (LoadFromMemoryAsync) загружается из памяти

Второй способ (LoadFromFile) загружается локально

Третий метод (UnityWbRequest) загружается с сервера или локально

Таким образом, ресурсы в нашем пакете Model загружаются и создаются в сцене. В это время запустите Unity, и вы увидите, что две модели были созданы отдельно.


Конечно, вы также можете создавать указанные ресурсы, такие как

Таким образом осуществляется загрузка ресурсов Asset Bundle.

Стратегия группировки AssetBundle

1. Поместите часто обновляемые ресурсы в отдельный пакет и отделите их от редко обновляемых пакетов.
2. Поместите ресурсы, которые необходимо загрузить одновременно, в пакет.
3. Вы можете поместить ресурсы, общие для других пакетов, в отдельный пакет.
4. Упакуйте несколько небольших ресурсов, которые необходимо загрузить одновременно, в пакет.
5. Если есть две версии одного и того же ресурса, рассмотрите возможность использования суффикса для различения v1 v2 v3 unity3dv1 unity3dv2

1. Группировка логических объектов
a, один интерфейс пользовательского интерфейса или один пакет для всех интерфейсов пользовательского интерфейса (один пакет для текстур и информации о макете в этом интерфейсе)
b, пакет для одного или всех персонажей (пакет для модели и анимации в этом персонаже)
c, пакет, общий для всех сцен (включая текстуры и модели)
2. Группировать по типу
Все звуковые ресурсы упакованы в один пакет, все шейдеры упакованы в один пакет, все модели упакованы в один пакет, а все материалы упакованы в один пакет
3. Группировать по использованию
объединяет все ресурсы, используемые в определенное время, в один пакет. Его можно разделить по уровням: все ресурсы, необходимые для уровня, включая персонажей, текстуры, звуки и т. Д., Сгруппированы в пакет. Его также можно разделить на сцены, один пакет ресурсов, необходимых для одной сцены

Упаковка зависимостей

Это означает, что, например, если две модели используют один и тот же материал и текстуру, то между моделью и картой текстуры существует отношение зависимости. Если наши две модели упакованы отдельно, тогда будут упакованы два материала и текстуры, так что пакет станет больше, тогда как мы его решим, вот способ в Unity, на который в первую очередь нужно положиться Упакуйте материалы и текстуры отдельно в папку, а затем упакуйте две модели, которые зависят от этого материала и текстуры. Таким образом, Unity будет искать карту материалов и обнаруживать, что материал и текстура были упакованы, поэтому не будет повторять упаковку материала и текстуры, что значительно уменьшает размер упаковки.



Вышеупомянутый метод предназначен для непосредственной упаковки двух моделей по отдельности. Вы можете видеть, что материалы и текстуры упакованы отдельно, каждый из которых составляет 63 КБ, а следующий - первый пакет материалов и текстур до 62 КБ. Затем упакуйте две модели по 2 КБ, а общий размер составит всего 64 КБ.


Это пакет зависимостей, поставляемый с Unity.
Но модель, материал и текстура должны быть загружены при загрузке, иначе будут финансовые потери.

Удаление AssetBundle

Есть два аспекта для удаления
1. Уменьшите использование памяти.
2, может привести к потере
Итак, когда удалять ресурсы
AssetBundle.Unload (true) Выгрузить все ресурсы, даже если ресурсы используются
1. При переключении между уровнями и сценами
2, когда ресурс не вызывается
AssetBundle.Unload (false) Выгрузить все неиспользуемые ресурсы
Как удалить отдельные ресурсы
1 через Resources.UnloadUnusedAssets.
2, когда сцена переключается

Проверка документов

Проверка файла может гарантировать целостность файла во время передачи файла. Например, A сгенерирует проверочный код перед передачей мне файла. Для этого файла будет сгенерирован только этот уникальный проверочный код, если он будет передан мне. Если файл немного отличается, код проверки будет совершенно другим. Поэтому, когда A передает мне файл, мне будут переданы и файл, и контрольный код. Когда я получу файл, я также буду использовать тот же алгоритм, что и A, для генерации контрольного кода файла, а затем возьму этот Значение сравнивается с контрольным кодом, который мне прислал A, если он совпадает, значит, файл готов, если нет, то повторите передачу. Ниже приведены контрольные значения, сгенерированные несколькими алгоритмами.
CRC MD5 SHA1
Сходства:
Все CRC, MD5, SHA1 вычисляются путем вычисления данных для создания контрольного значения, которое используется для проверки целостности данных.
Разница:

С августа 2021 года все новые приложения должны публиковаться в Google Play в формате набора Android App Bundle. Кроме того, во всех новых приложениях размером более 150 МБ должны использоваться технологии Play Asset Delivery или Play Feature Delivery.

Чтобы узнать больше, прочитайте эту запись в блоге для разработчиков Android.

Выпуски позволяют управлять наборами Android App Bundle (или APK-файлами – для приложений, созданных до августа 2021 года), а также внедрять различные версии приложения.

Шаг 1. Создайте выпуск

Под выпуском подразумевается совокупность версий приложения, которые вы готовите для запуска продукта или публикации обновления. Вы можете создать выпуск для трех типов тестирования или сразу внедрить рабочую версию.

  • Открытое тестирование. Версии доступны тестировщикам в Google Play. Присоединиться к тестированию можно на странице приложения.
  • Закрытое тестирование. Версии доступны ограниченному количеству тестировщиков, которых вы выбираете самостоятельно. Они могут протестировать предварительную версию приложения и оставить свои отзывы.
  • Внутреннее тестирование. Версии доступны тестировщикам, которых вы выбираете самостоятельно (до 100 человек).
  • Рабочая версия. Она доступна всем пользователям Google Play из выбранных вами стран.

Важно! Чтобы создать новый выпуск, необходимо иметь разрешение на выпуск версий для тестирования приложения.

Чтобы создать выпуск:

  1. Откройте Play Console и выберите тип тестирования или рабочую версию:
      (Тестирование > Открытое тестирование) (Тестирование > Закрытое тестирование)
      • Примечание. Чтобы создать выпуск версии для уже существующего закрытого тестирования, выберите Управлять версией. Чтобы создать новую версию, нажмите Создать версию.
      (Тестирование > Внутреннее тестирование)
  2. В правой верхней части страницы нажмите Создать новый выпуск.
    • Примечание. Если кнопка Создать новый выпуск отключена, возможно, у вас есть невыполненные задачи по настройке. Они могут быть представлены на странице Панель управления.

Совет. Подробную информацию вы можете найти в статье о том, как провести открытое, закрытое или внутреннее тестирование.

Шаг 2. Подготовьте выпуск приложения

  1. Следуйте инструкциям на экране:
    • Если это первый выпуск приложения, настройте функцию подписания приложений в Google Play.
    • Добавьте наборы App Bundle.
      • Примечание. Для обновлений тех приложений, которые были созданы до августа 2021 года, можно добавлять наборы App Bundle или APK-файлы.
    • Необязательно. Если вы впервые создаете выпуск, то можете изменить ключ подписи приложения. В разделе "Целостность приложения" нажмите Изменить ключ подписи приложения. Если вы собираетесь изменить ключ, учтите следующее:
      • Чтобы участники внутреннего и закрытого тестирования, на устройствах которых уже есть ваше приложение, могли и дальше получать обновления, им потребуется удалить и снова установить его.
      • Вы не сможете использовать загруженные ранее версии приложения. Вам понадобится загрузить их повторно.
    • Укажите название выпуска.
    • Введите примечания к выпуску.
    • Чтобы узнать больше о каком-либо поле в интерфейсе на этапе подготовки, нажмите на название соответствующего раздела ниже.
  2. Чтобы применить изменения, выберите Сохранить.
  3. Нажмите Проверка выпуска.

Примечание. После публикации версии для открытого тестирования изменить ключ подписи приложения будет нельзя.

Подготовка

Чтобы получить подробную информацию, выберите раздел ниже.

В этом разделе вы можете добавить наборы App Bundle из своей библиотеки или загрузить новые. Нажав на значок в виде трех точек, можно:

  • загрузить файл сопоставления ReTrace (в формате TXT);
  • загрузить нативные отладочные символы (в ZIP-файле);
  • загрузить файл дополнений (OBB);
  • удалить набор App Bundle.

Примечание. В выпусках тех приложений, которые были созданы до августа 2021 года, можно использовать наборы App Bundle или APK-файлы.

Чтобы узнать больше о том, почему необходимо загружать файлы сопоставления ReTrace и нативные отладочные символы, прочитайте эту статью.

В этом разделе перечислены наборы App Bundle из предыдущего выпуска, которые останутся в текущем.

Чтобы убрать набор App Bundle из текущего выпуска, нажмите Удалить. Вы сможете найти этот набор на странице App Bundle Explorer (то же самое касается APK-файлов).

В этом разделе перечислены наборы App Bundle из предыдущего выпуска, которые не войдут в текущий.

Чтобы добавить набор App Bundle в текущий выпуск, нажмите Включить.

Запросы разрешений оцениваются в процессе выпуска приложения после добавления APK-файлов или наборов App Bundle. Если приложению требуются разрешения, связанные с доступом к конфиденциальной информации или высоким уровнем риска (например, доступ к SMS или списку вызовов), вам может понадобиться заполнить форму "Декларация разрешений" и получить одобрение Google Play.

Название выпуска используется только в Play Console и недоступно пользователям.

Это поле будет заполнено автоматически при добавлении первого набора App Bundle или APK-файла в выпуск.

Чтобы вам было проще находить нужные версии, давайте им понятные названия. Например, это может быть версия сборки (3.2.5-RC2) или кодовое название (Banana).

Обзор

Расскажите пользователям о последних изменениях в вашем приложении. Обратите внимание, что примечания к выпуску нельзя использовать в рекламных целях или для призыва пользователей к действиям.

Добавление примечаний к выпуску и управление переводами

Добавьте описание выпуска между тегами соответствующего языка. Такие теги отображаются в текстовом поле для каждого языка вашего приложения.

Прежде чем изменить список поддерживаемых языков, необходимо добавить переводы. После этого обновленный набор языков появится в текстовом поле на странице Подготовка версии.

Обратите внимание на то, что теги языков должны быть выделены в отдельные строки. Пример:

Примечания к выпуску могут занимать несколько строк.

Копирование из предыдущего выпуска

Чтобы скопировать примечания к выпуску из предыдущей версии, выберите Скопировать из предыдущего выпуска. На следующем шаге выберите версию – соответствующие примечания и переводы будут скопированы в текстовое поле для дальнейшего редактирования. Они заменят ранее введенные примечания к выпуску.

Шаг 3. Проверьте файлы и внедрите выпуск

Внимание! Перед внедрением выпуска убедитесь, что вы настроили страницу приложения в Google Play, подготовили приложение к проверке на странице Контент приложения и установили нужную цену.

Когда вы будете готовы внедрить выпуск, сделайте следующее:

  1. Откройте Play Console и перейдите на страницу Обзор выпусков.
  2. Рядом с нужной версией нажмите на стрелку вправо, чтобы открыть страницу Сведения о выпуске.
    • Совет. Если вы не можете найти выпуск, используйте строку поиска.
  3. В разделе "Обзор версии приложения" выберите Открыть панель управления версией.
  4. Откройте вкладку Версии и нажмите Изменить.
  5. Просмотрите проект и при необходимости внесите изменения, после чего выберите Сохранить.
  6. Нажмите Проверка выпуска. На открывшейся странице можно убедиться, что ничего не мешает внедрить выпуск приложения для пользователей.
  7. Если вверху страницы вы видите заголовок "Сводные данные об ошибках", нажмите Развернуть, чтобы посмотреть подробные сведения и устранить проблемы.
    • Примечание. В некоторых случаях вам также могут быть предоставлены рекомендации или список обязательных действий для устранения проблем. Вы не сможете опубликовать приложение, пока ошибки не будут исправлены. Если вы видите только предупреждения или незначительные ошибки, они не помешают вам опубликовать приложение. Тем не менее мы рекомендуем устранить их перед публикацией.
  8. При обновлении существующего приложения выберите процент внедрения.
    • Если вы внедряете первый выпуск приложения, этот параметр будет недоступен.
    • Подробная информация о том, как настроить таргетинг по странам для поэтапного внедрения, приведена в этой статье.
  9. Выберите Опубликовать выпуск.
    • Если вы впервые внедряете рабочую версию приложения, она будет опубликована для всех пользователей Google Play в выбранных вами странах. Для этого необходимо нажать Опубликовать рабочую версию.

Шаг 4. Проверьте сведения о версии

После создания выпуска в таблице раздела "Последние выпуски" на странице Обзор выпусков вам будет доступна следующая информация о последнем выпуске для каждой версии:

  • Название выпуска. Используется только в Play Console (например, кодовое название или номер сборки).
  • Версия. Версия, для которой был внедрен выпуск.
  • Статус выпуска. Текущий статус выпуска.
  • Последнее обновление. Дата и время последнего внедрения выпуска.
  • Страны/регионы. Количество стран и регионов, для которых доступно последнее внедрение выпуска.

Нажмите на стрелку вправо, чтобы открыть страницу Сведения о выпуске. Там вы сможете ознакомиться со следующей информацией:

  • Обзор версии приложения. Показатели, связанные с количеством установок и обновлений, проблемы производительности, средняя оценка по сравнению с предыдущими выпусками.
  • Наборы App Bundle и APK-файлы. Список новых, сохраненных и отключенных наборов App Bundle и APK-файлов, связанных с выпуском.
  • Примечания к выпуску. Список примечаний к предыдущим выпускам.
  • История внедрения. Сведения о том, когда доступ к выпуску приложения останавливали и возобновляли, а также о том, когда приложение становилось доступным для более широкой аудитории.

Как отслеживать выпуски и управлять ими на странице "Обзор выпусков"

На странице Обзор выпусков (в разделе "Выпуск" в меню слева) собраны сведения обо всех внедренных выпусках. На ней вы сможете управлять доступностью разных версий своего приложения, просматривать страны и регионы, в которых оно доступно, а также получать более точную информацию об отдельных выпусках.

Читайте также: