Внедрить облачную доставку активов

Внимание: Google Play Instant больше не будет доступен. С декабря 2025 года мгновенные приложения нельзя будет публиковать через Google Play, и все API мгновенного запуска сервисов Google Play перестанут работать. Пользователи больше не смогут получать мгновенные приложения через Play, используя какие-либо механизмы.

Мы вносим это изменение, основываясь на отзывах разработчиков и наших постоянных инвестициях в улучшение экосистемы с момента внедрения Google Play Instant.

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

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

Подготовка

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

Всегда нужно

Некоторые ресурсы сложно разделить на более мелкие блоки или их требуется объединить в базовый APK-файл. Примерами могут служить код игры и его библиотеки или зависимости от движка. Хотя Google Play Core поддерживает пакеты приложений для кода , многие движки не поддерживают код, загруженный позже.

Необходимо при запуске

После запуска игры пользователь должен иметь возможность начать играть немедленно. Google Play Instant требует, чтобы пользователи могли начать играть в вашу игру менее чем за 15 секунд при подключении LTE или 4G (см. контрольный список Google Play Instant ). Поэтому ограничьте объём любых дополнительных загрузок после запуска, чтобы он был только необходимым для поддержки первоначального опыта. Например, быстрая загрузка сразу после запуска может включать первый уровень игры и ресурсы локаций, а также любой код, необходимый для запуска первых нескольких минут игрового процесса.

Потребуется позже

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

Поддержка двигателя

Облачная доставка ресурсов — основной способ позволить вашей игре превысить лимит в 15 МБ для игр с мгновенным запуском. Поддержка загрузки ресурсов зависит от игрового движка. Ниже приведены наиболее распространённые случаи, а также варианты размещения ресурсов.

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

Доставка функций Play (через App Bundles)

Если вы публикуете приложение как пакет приложений (что является предпочтительным методом), вы можете использовать функциональные модули для получения дополнительных ресурсов, выходящих за рамки базового APK. В вашем мгновенном приложении каждый функциональный модуль должен иметь свойство dist:instant="true" в манифесте. Свойство dist:on-demand использовать не следует; оно в основном используется для модулей по запросу в установленных APK. Кроме того, размер каждого функционального модуля не должен превышать лимит мгновенного APK в 15 МБ, независимо от того, содержит ли модуль код. Несоблюдение этого ограничения для каждого модуля приведет к невозможности публикации альфа- и релизных версий. После правильной настройки вы можете получать функциональные модули во время выполнения с помощью библиотеки PlayCore.

Создатель Кокосов

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

Единство

Облачная доставка поддерживается плагином Unity Google Play Instant для Unity версий 5.6, 2017.4 и 2018.2. Более поздние версии Unity предлагают больше возможностей для удаления движка, поэтому переход на них может быть полезен для освобождения места. Облачные ресурсы Unity размещаются в файлах AssetBundle , которые Unity создает автоматически. Загрузка этих файлов на облачный сервер позволяет осуществлять облачную доставку ресурсов, поскольку Unity имеет встроенную поддержку загрузки пакетов ресурсов .

Другие двигатели

Независимо от того, используете ли вы собственный движок или набор нативных библиотек, ваш выбор может поддерживать загрузку ресурсов из облака по умолчанию. Если у вас достаточно ресурсов, которые нужно загрузить из облака, вам потребуется написать код или интегрировать способ загрузки ресурсов по запросу для вашей игры. API Firebase Hosting или Firebase Cloud Storage — хорошие отправные точки. Некоторые движки также предлагают простую загрузку файлов по HTTPS, которой может быть достаточно для ваших нужд.

Хостинг активов

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