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-файлов и мгновенных приложений из пакета приложений, измените конфигурацию запуска/отладки .