Розробка 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 з увімкненим Instant.
CI/CD: окремий bundle target ./gradlew :feature-instant:bundleRelease генерує .aab тільки для instant модулів.
Коли це має сенс
Instant Apps працюють найкраще для конкретних точкових сценаріїв: перегляд продукту перед покупкою, один рівень гри, реєстрація на подію, QR-сканер. Складні сценарії з аутентифікацією, оплатою через інші способи крім Google Pay — утруднені через обмеження.
Основна цінність — конверсія: користувач потрапляє в робочий нативний додаток без тертя встановлення, бачить цінність і з більшою ймовірністю встановлює повну версію.
Розклад
Якщо додаток вже модульний — Instant Experience для одного сценарію: 3–5 тижнів. Модуляризація моноліту + Instant: 8–16 тижнів залежно від розміру codebase. Вартість розраховується після аудиту поточної архітектури.







