Google Play Instant позволяет пользователям взаимодействовать с вашим приложением без необходимости устанавливать APK-файлы на свое устройство. Вместо этого они могут испытать ваше приложение с помощью кнопки «Попробовать сейчас» в Google Play Store или по созданному вами URL-адресу. Эта форма доставки контента облегчает вам повышение взаимодействия с вашим приложением.
Вы можете мгновенно включить функцию, только если вы также мгновенно включите базовый модуль вашего приложения. Это связано с тем, что, если пользователь хочет использовать один из функциональных модулей вашего приложения с мгновенной поддержкой, его устройство также должно загрузить базовый модуль вашего приложения для общего кода и ресурсов. Имейте в виду, что для поддержки Google Play Instant загрузка вашего базового модуля и функции должна соответствовать нескольким критериям:
- Максимальный размер: общий размер базового модуля с мгновенной поддержкой и функционального модуля с мгновенной поддержкой должен составлять не более 10 МБ. Дополнительные сведения см. в статье Включите мгновенный опыт, уменьшив размер приложения или игры .
- Фоновая активность: модуль с мгновенной поддержкой не может использовать фоновые службы . Кроме того, такой модуль не может отправлять уведомления при работе в фоновом режиме.
Если вы создаете функциональный модуль с мгновенной поддержкой с помощью Android Studio 3.5 или более поздней версии, как описано в этом разделе, IDE автоматически мгновенно включает для вас как базовый, так и функциональный модуль, включая в манифест каждого модуля следующее:
<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 .
Настройте новый модуль для мгновенной доставки
Чтобы добавить функциональный модуль с мгновенной поддержкой в проект приложения с помощью Android Studio, выполните следующие действия:
- Если вы еще этого не сделали, откройте проект приложения в IDE.
- Выберите «Файл» > «Создать» > «Новый модуль» в строке меню.
- В диалоговом окне «Создать новый модуль» выберите «Модуль мгновенных динамических функций» и нажмите «Далее» .
В разделе «Настройка нового модуля» выполните следующие действия:
- Выберите базовый модуль приложения для вашего проекта приложения в раскрывающемся меню.
- Укажите имя модуля . IDE использует это имя для идентификации модуля как подпроекта Gradle в вашем файле настроек Gradle . Когда вы создаете пакет приложения, Gradle использует последний элемент имени подпроекта для внедрения атрибута
<manifest split>
в манифест функционального модуля . - Укажите имя пакета модуля. По умолчанию Android Studio предлагает имя пакета, которое сочетает в себе имя корневого пакета базового модуля и имя модуля, указанное на предыдущем шаге.
- Выберите минимальный уровень API , который должен поддерживать модуль. Это значение должно соответствовать значению базового модуля.
Укажите название модуля , используя до 50 символов. Платформа использует это название, чтобы идентифицировать модуль для пользователей. По этой причине базовый модуль вашего приложения должен включать заголовок модуля в виде строкового ресурса , который вы можете перевести. При создании модуля с помощью Android Studio среда IDE добавляет строковый ресурс в базовый модуль и вставляет следующую запись в манифест функционального модуля:
<dist:module ... dist:title="@string/feature_title"> </dist:module>
Установите флажок рядом с Fusing , если вы хотите, чтобы этот модуль был доступен для устройств под управлением Android 4.4 (уровень API 20) и ниже и был включен в несколько APK-файлов. Android Studio вставляет следующее в манифест модуля, чтобы отразить ваш выбор.
<dist:module> <dist:fusing dist:include="true" /> </dist:module>
Нажмите «Готово» .
После того, как Android Studio завершит создание вашего модуля, проверьте его содержимое самостоятельно на панели «Проект» (выберите «Вид» > «Окна инструментов» > «Проект» в строке меню). Код, ресурсы и организация по умолчанию должны быть аналогичны стандартному модулю приложения.
После реализации функции, которую вы хотите загрузить по требованию, узнайте, как запросить ее с помощью библиотеки доставки функций Play .
Разверните свое приложение
Пока вы разрабатываете свое приложение с поддержкой функциональных модулей, вы можете развернуть свое приложение на подключенном устройстве, как обычно, выбрав «Выполнить» > «Выполнить» в строке меню (или нажав «Выполнить» ). на панели инструментов).
Если проект вашего приложения включает один или несколько функциональных модулей, вы можете выбрать, какие функции включить при развертывании вашего приложения, изменив существующую конфигурацию запуска/отладки следующим образом:
- Выберите «Выполнить» > «Редактировать конфигурации» в строке меню.
- На левой панели диалогового окна «Конфигурации запуска/отладки» выберите нужную конфигурацию приложения Android .
- В разделе «Динамические функции для развертывания» на вкладке «Общие» установите флажок рядом с каждым модулем функции, который вы хотите включить при развертывании приложения.
- Нажмите ОК .
По умолчанию Android Studio не развертывает модули с мгновенной поддержкой как мгновенное взаимодействие и не использует пакеты приложений для развертывания вашего приложения. Вместо этого IDE создает и устанавливает на ваше устройство APK-файлы, оптимизированные по скорости развертывания, а не по размеру APK. Чтобы настроить Android Studio для создания и развертывания APK-файлов и мгновенных приложений из пакета приложений, измените конфигурацию запуска/отладки .