Налаштування Google Play Instant для Android (мініапліки)
Google Play Instant дозволяє користувачам запустити частину додатка без встановлення—прямо з веб-браузера, Google Search або Play Store за допомогою кнопки «Спробувати». Варіанти використання включають демо-версії ігор, адаптацію нових користувачів та попередній перегляд контенту через deep link без необхідності попередньої встановлення.
Технічно миттєвий додаток (instant app) — це той же APK зі суворими обмеженнями щодо розміру та функціональності. Це не окремий додаток—це підмножина існуючого.
Технічні обмеження
Розмір: Миттєвий досвід не може перевищувати 15 МБ. Це основне обмеження. Для додатків з численними ресурсами, шрифтами та залежностями це становить значний виклик. Android App Bundle з динамічними модулями (dynamic-feature) дозволяє включити лише необхідну функціональність у миттєвий досвід.
Обмеження API: Миттєві додатки працюють у пісочниці. Недоступні наступні API: READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE, доступ до контактів, SMS та постійні сповіщення. Деякі апаратні API обмежені. Bluetooth, камера та мікрофон доступні з дозволу користувача, як у звичайних додатках.
INSTANT_APPS_ACCESS дозвіл необхідно додати до маніфесту миттєвого модуля.
Зберігання: SharedPreferences у миттєвій області часткові та очищуються. Щоб зберегти дані між миттєвою та встановленою версіями, використовуйте InstantApps.getPackageManagerCompat() з Cookie API—малий буфер (~16 КБ) для передачі стану під час встановлення.
Структура проекту з миттєвим додатком
Додаток розділяється на модулі через Android App Bundle:
-
app— базовий модуль (завжди встановлюється) -
feature_instant— модуль зdist:instant="true", включений у миттєвий досвід - решта
feature_*— динамічні модулі, завантажуються за запитом
У feature_instant/AndroidManifest.xml:
<dist:module dist:instant="true">
<dist:delivery>
<dist:install-time />
</dist:delivery>
</dist:module>
install-time для миттєвого засобу означає «включити у миттєвий досвід», а не «встановити з базовим модулем».
Код миттєвого модуля запускається через намір (intent) з deep link—той же URL, який використовується для App Links. Коли користувачі встановлюють додаток, миттєвий досвід безперервно переходить у встановлену версію.
Поширені перешкоди для впровадження
Обмеження розміру 15 МБ. Аналіз APK за допомогою apkanalyzer показує, що займає місце: зазвичай неоптимізовані drawable (webp замість png), шрифти (тільки необхідні ваги через downloadable fonts) та великі бібліотеки. ProGuard/R8 з isMinifyEnabled = true та isShrinkResources = true є обов'язковими. Іноді залежності повинні бути замінені—наприклад, використання Static Maps API з ImageView замість повного Google Maps SDK.
Навігація. Миттєві додатки запускаються через URL. Якщо навігація побудована на внутрішніх ID замість deep links, потрібна переробка. NavDeepLinkBuilder у Navigation Component спрощує це, але вимагає, щоб кожен екран миттєвого досвіду мав відповідний URL.
Тестування. Ви можете запустити миттєвий додаток безпосередньо з Android Studio, використовуючи конфігурацію з Launch: Instant App URL. На пристрої ввімкніть «Google Play Instant» в Developer Options. Без реального тестування пристрою важко перевірити обмеження пісочниці.
Cookie API для передачі стану. Якщо користувач завершує адаптацію у миттєвій версії, а потім встановлює додаток, без Cookie API цей прогрес втрачається. Впровадження: зберігайте дані у cookie через InstantApps.setInstantAppCookie() у миттєвій версії; при першому запуску встановленої версії отримайте його через InstantApps.getInstantAppCookie().
Налаштування Google Play Instant для існуючого додатка займає 3–5 днів, за умови, що додаток вже використовує багатомодульну структуру. Для монолітного проекту попередня модуляризація займає додатковий час. Вартість розраховується індивідуально.







