Android Instant Apps Development
Android Instant Apps allows you to launch part of an application via URL without installation. The user follows a link in the browser or from another application—the needed functionality fragment launches instantly as a native Android application. With the advent of Google Play Instant in 2018, the mechanism became more mature, but architecture requirements are strict.
Modular Architecture Is a Mandatory Condition
Instant App is not "version 2.0". It's the consequence of correct modular architecture. The application is divided into Feature Modules, each of which can be loaded separately.
Google Play Instant supports two options:
Instant Experience via Dynamic Feature Module. A module with <dist:module dist:instant="true"/> in the manifest. Size is limited: 15 MB for the module loaded on first launch (Android 8.0+). On older devices—4 MB strict limit.
URL-based entry point. The application registers a URL through App Links in the manifest, Google Play Instant intercepts the transition and loads the needed module.
If the application is a monolith—you'll first need to modularize. This often takes more time than the Instant functionality itself.
Constraints and What You Can't Do
- No access to
BLUETOOTH,READ_CONTACTS,WRITE_EXTERNAL_STORAGE—high-risk permissions are blocked for Instant -
SharedPreferencesexist only within the session—after closing Instant Experience, data is lost if the user didn't install the app - No
Service,BroadcastReceiver,ContentProviderin Instant module -
PackageManagerdoesn't see other installed applications (starting with Android 11, this restriction exists for regular apps too via visibility filtering)
State transfer on install. This is a key UX moment: the user filled a form in Instant Experience, tapped "Install"—after installation, the data should persist. Mechanism: InstantApps.showInstallPrompt() with Cookie API (InstantApps.getInstantAppCookie() / setInstantAppCookie()). Cookie size—maximum PackageManager.getInstantAppCookieMaxBytes() bytes (usually 16 KB).
Deployment and Testing
Instant Apps are tested through Android Studio: Run → Edit Configurations → Deploy → Instant App. Device must be authorized in Google Play.
For production—upload through Google Play Console with the instant flag for the needed track. Testing on real devices via internal testing track with Instant enabled.
CI/CD: separate bundle target ./gradlew :feature-instant:bundleRelease generates .aab only for instant modules.
When This Makes Sense
Instant Apps work best for specific point scenarios: viewing a product before purchase, one game level, event registration, QR scanner. Complex scenarios with authentication, payment through methods other than Google Pay—are hindered by constraints.
The main value—conversion: the user lands in a working native application without installation friction, sees the value, and is more likely to install the full version.
Timeline
If the application is already modular—Instant Experience for one scenario: 3–5 weeks. Modularizing a monolith + Instant: 8–16 weeks depending on codebase size. Cost is calculated after auditing current architecture.







