Google Play Instant позволяет пользователям взаимодействовать с вашим приложением без необходимости устанавливать APK-файлы на свое устройство. Вместо этого они могут нажать кнопку "Попробовать" на странице приложения в Google Play или перейти по созданной вами ссылке. Такой способ доставки контента позволяет легче повышать вовлеченность пользователей.
Функцию с мгновенным запуском можно включить, только если с мгновенным запуском также включен базовый модуль вашего приложения. Это связано с тем, что для запуска модуля функции с мгновенным запуском на устройство пользователя также должен быть скачан основной модуль приложения с общим кодом и ресурсами. Чтобы поддерживать Google Play Instant, скачивание основного модуля и функции должно соответствовать нескольким критериям:
- Максимальный размер. Общий размер базового модуля и модуля функции с мгновенным запуском не должен превышать 10 МБ. Подробнее о том, как уменьшить размер приложения или игры, чтобы включить мгновенный запуск…
- Фоновая активность. Модуль с мгновенным запуском не может использовать фоновые службы. Кроме того, такой модуль не может отправлять уведомления, когда работает в фоновом режиме.
Если вы создаете модуль функции с мгновенным запуском в Android Studio 3.5 или более поздней версии, как описано в этом разделе, интегрированная среда разработки автоматически включит мгновенный запуск для основного модуля и модуля функции, добавив в файл манифеста каждого из них следующий код:
<manifest xmlns:dist="http://schemas.android.com/apk/distribution"
... >
<dist:module dist:instant="true" />
...
Кроме того, при скачивании и установке приложения модули функций с мгновенным запуском автоматически скачиваются и устанавливаются вместе с основным APK-файлом приложения. Поэтому IDE также включает в модуль функции с мгновенным запуском следующее:
<dist:module ...>
<dist:delivery>
<dist:install-time />
</dist:delivery>
</dist:module>
Это означает, что если вы задаете dist:instant="true", то не можете включить <dist:on-demand />. Однако вы можете запрашивать модули с мгновенным запуском по требованию внутри приложения с мгновенным запуском, используя библиотеку Play Feature Delivery.
Как настроить новый модуль для мгновенной доставки
Чтобы добавить в проект приложения модуль функции с мгновенным запуском с помощью Android Studio, выполните следующие действия:
- Если вы ещё этого не сделали, откройте проект приложения в IDE.
- В строке меню выберите File (Файл) > New (Создать) > New Module (Новый модуль).
- В диалоговом окне Create New Module (Создать модуль) выберите Instant Dynamic Feature Module (Модуль динамической функции с мгновенным запуском) и нажмите Next (Далее).
В разделе Configure your new module (Настройка нового модуля) выполните следующие действия:
- В раскрывающемся меню выберите Базовый модуль приложения для проекта приложения.
- Укажите название модуля. Среда разработки использует это название, чтобы идентифицировать модуль как подпроект Gradle в файле настроек Gradle. При сборке набора App Bundle Gradle использует последний элемент названия подпроекта, чтобы добавить атрибут
<manifest split>в манифест модуля функции. - Укажите название пакета модуля. По умолчанию Android Studio предлагает название пакета, которое объединяет название корневого пакета базового модуля и название модуля, указанное на предыдущем шаге.
- Выберите минимальный уровень API, который должен поддерживать модуль. Это значение должно совпадать со значением базового модуля.
Укажите название модуля (не более 50 символов). Платформа использует это название, чтобы идентифицировать модуль для пользователей. Поэтому в базовом модуле приложения должно быть указано название модуля в виде строкового ресурса, который можно перевести. При создании модуля в Android Studio интегрированная среда разработки автоматически добавляет строковый ресурс в базовый модуль и вставляет в манифест модуля функции следующую запись:
<dist:module ... dist:title="@string/feature_title"> </dist:module>Установите флажок Объединение, если хотите, чтобы этот модуль был доступен на устройствах с Android 4.4 (уровень API 20) и более ранних версий и входил в состав набора APK. Android Studio вставляет в манифест модуля следующий код, отражающий ваш выбор.
<dist:module> <dist:fusing dist:include="true" /> </dist:module>
Нажмите Готово.
После того как Android Studio создаст модуль, проверьте его содержимое на панели Project (Проект). Для этого в строке меню выберите View > Tool Windows > Project (Вид > Окна инструментов > Проект). Код, ресурсы и структура по умолчанию должны быть похожи на те, что используются в стандартном модуле приложения.
После того как вы добавите функцию, которую хотите скачивать по запросу, узнайте, как запросить ее с помощью библиотеки Play Feature Delivery.
Как опубликовать приложение
При разработке приложения с поддержкой модулей функций вы можете развернуть его на подключенном устройстве обычным способом, выбрав в строке меню Run (Запустить) > Run (Запустить) или нажав Run (Запустить)
на панели инструментов.
Если в проекте приложения есть один или несколько модулей функций, вы можете выбрать, какие функции включить при развертывании приложения. Для этого измените существующую конфигурацию выполнения/отладки следующим образом:
- В строке меню выберите Run (Выполнить) > Edit Configurations (Изменить конфигурации).
- На левой панели диалогового окна Run/Debug Configurations (Конфигурации выполнения/отладки) выберите нужную конфигурацию Android App (Приложение Android).
- На вкладке General (Общие) в разделе Dynamic features to deploy (Динамические функции для развертывания) установите флажки рядом с модулями функций, которые нужно включить при развертывании приложения.
- Нажмите ОК.
По умолчанию Android Studio не развертывает модули с мгновенным запуском как приложение с мгновенным запуском и не использует наборы App Bundle для развертывания приложения. Вместо этого интегрированная среда разработки создает и устанавливает на устройство APK-файлы, оптимизированные для скорости развертывания, а не для размера. Чтобы настроить Android Studio для создания и развертывания APK-файлов и приложений с мгновенным запуском из набора App Bundle, измените конфигурацию выполнения/отладки.