Google Play Dynamic Delivery: Ship Features On-Demand

Shrink your app's initial install size by delivering features on-demand. Instead of one giant APK, Dynamic Delivery sends a small base app, then downloads larger features like AR modes or special tools only when the user needs them.
WHY IT EXISTS: Large apps have lower installation rates. To combat this, Google Play Dynamic Delivery was created to reduce the initial download size, making it faster and cheaper for users to get started with an app, especially in regions with limited data or device storage.
THE MENTAL MODEL: Think of your app not as a single, monolithic file, but as a base module plus optional feature modules. The Play Store acts as a smart delivery system, sending only the core app initially. It then delivers other features—like a game level or a complex editing tool—only when the user needs them or under specific conditions you define.
HOW IT WORKS: You structure your app using Android Studio's feature modules and build an Android App Bundle (.aab). When a user installs your app, Play generates a highly optimized APK with just the base code. You can configure other feature modules to be delivered in several ways: install-time (for everyone), conditional (based on country or device specs like AR support), on-demand (when the user requests it), or fast-follow (downloading in the background right after install). Your app uses the Play Core Library to request and manage on-demand modules.
WHEN TO USE IT: Use Dynamic Delivery for significant, self-contained features that are not essential for the first-run experience. Examples include advanced photo editing tools, AR/VR features, complex tutorials, or specific high-end game modes. It's most impactful for large applications where modularization provides significant size savings.
WHEN NOT TO USE IT: Avoid this for small apps where the complexity outweighs the benefits. Most importantly, never place core, essential functionality required for the app to launch and be useful into an on-demand module. The base module must always contain everything needed for a coherent first experience.
ONE CANONICAL EXAMPLE: A social media app ships with a base module for viewing feeds and posting text. It has a separate, on-demand feature module for a sophisticated video editor. When a user taps "Edit Video" for the first time, the app requests the module. The Play Core Library shows a progress dialog, downloads and installs the video editor, and then launches the feature, all without the user leaving the app.
Read the original → developer.android.com
Get five bites like this every day.
Tezvyn delivers a daily feed of 60-second tech bites with quizzes to lock in what you learn.