Разработка Instant Apps для Android
Android Instant Apps позволяет запустить часть приложения по URL без установки. Пользователь переходит по ссылке в браузере или из другого приложения — нужный фрагмент функционала запускается мгновенно как нативное Android-приложение. С появлением Google Play Instant в 2018 году механизм стал более зрелым, но требования к архитектуре строгие.
Модульная архитектура — обязательное условие
Instant App — это не «версия 2.0». Это следствие правильной модульной архитектуры. Приложение разбивается на Feature Modules, каждый из которых может быть загружен отдельно.
Google Play Instant поддерживает два варианта:
Instant Experience через Dynamic Feature Module. Модуль с <dist:module dist:instant="true"/> в манифесте. Размер ограничен: 15 МБ для модуля, загружаемого при первом запуске (с Android 8.0+). На более старых устройствах — 4 МБ строгий лимит.
URL-based entry point. Приложение регистрирует URL через App Links в манифесте, Google Play Instant перехватывает переход и загружает нужный модуль.
Если приложение — монолит — придётся сначала провести модуляризацию. Это часто занимает больше времени, чем сама Instant функциональность.
Ограничения и что нельзя делать
- Нет доступа к
BLUETOOTH,READ_CONTACTS,WRITE_EXTERNAL_STORAGE— разрешения с высоким риском заблокированы для Instant -
SharedPreferencesсуществуют только в рамках сессии — после закрытия Instant Experience данные теряются, если пользователь не установил приложение - Нет
Service,BroadcastReceiver,ContentProviderв Instant модуле -
PackageManagerне видит другие установленные приложения (начиная с Android 11 это ограничение есть и для обычных приложений через visibility filtering)
Передача состояния при установке. Это ключевой UX момент: пользователь заполнил форму в Instant Experience, нажал «Установить» — после установки данные должны сохраниться. Механизм: InstantApps.showInstallPrompt() с Cookie API (InstantApps.getInstantAppCookie() / setInstantAppCookie()). Размер cookie — максимум PackageManager.getInstantAppCookieMaxBytes() байт (обычно 16 КБ).
Деплой и тестирование
Instant Apps тестируются через Android Studio: Run → Edit Configurations → Deploy → Instant App. Устройство должно быть авторизовано в Google Play.
Для production — загрузка через Google Play Console с флагом instant для нужного track. Тестирование на реальных устройствах через internal testing track с enabled Instant.
CI/CD: отдельный bundle target ./gradlew :feature-instant:bundleRelease генерирует .aab только для instant модулей.
Когда это имеет смысл
Instant Apps работают лучше всего для конкретных точечных сценариев: просмотр продукта перед покупкой, один уровень игры, регистрация на событие, QR-сканер. Сложные сценарии с аутентификацией, оплатой через другие способы кроме Google Pay — затруднены из-за ограничений.
Основная ценность — конверсия: пользователь попадает в работающее нативное приложение без трения установки, видит ценность и с большей вероятностью устанавливает полную версию.
Сроки
Если приложение уже модульное — Instant Experience для одного сценария: 3–5 недель. Модуляризация монолита + Instant: 8–16 недель в зависимости от размера кодовой базы. Стоимость рассчитывается после аудита текущей архитектуры.







