16 reasons to publish your apps and games with the Android App Bundle
Why you should switch to Android’s official publishing format
At Google I/O 2019, we announced a number of new features for Android’s official publishing format, the Android App Bundle, including dynamic features which are now out of beta with new delivery options. Over 100,000 apps in production today publish with the Android App Bundle, including apps such as Netflix.
Here’s why you may want to make the switch today
1. Most apps see a significant size reduction. On average, developers who switch have seen 20% size savings compared to a universal APK. These size savings have resulted in up to 11% higher installs, higher update rates, and fewer uninstalls. Visit the new app size report in the Google Play Console to see how much your app could save.
2. Your app can be efficiently tailored to each device by Google Play which means it can be faster to download and install for your users.
3. You can release faster by avoiding painful multi-APK releases because Play handles the targeting by device configuration for you.
4. You’ll get additional reporting and optimization guidance in the Play Console, which is only available for apps published with app bundles.
5. You can prepare for the 64-bit requirement without significantly increasing the size of your app. With app bundles, Play will deliver the appropriate native code needed for each device.
6. Integrating the Play Core library into your app also unlocks in-app updates so you can prompt users to perform an app update to your latest version, without the user leaving your app.
There are new delivery tools being built for game developers:
7. You can upload up to 150MB compressed download size avoiding expansion files. Apps and games published with APKs can only upload up to 100MB compressed download size.
8. On top of this, Play’s asset delivery extends the app bundle format to support game assets. Games can package large game assets as part of a single app bundle artifact with custom delivery options, replacing the need for expansion files (OBBs). This video explains asset delivery, custom delivery options, auto-update support, game engine integration, and more.
9. You can build an instant game, enabling people to try your game from the Play Store or the Play Games app without installing your app first, using the same app bundle artifact for your installed game and instant experience.
There are benefits for app developers who can take advantage of modular app development:
10. You can speed up engineering velocity by designing, building, and testing features as independent dynamic feature modules.
11. You’ll get faster build times from a modular app — monolithic apps are slower to build.
12. You can deliver conditional features at install time based on properties such as device features (e.g., AR/VR capabilities), the user’s country, or the device’s SDK version.
13. You can install features on demand as needed instead of at install time, or uninstall features that are no longer needed. Consider this for new features as a way to avoid increasing the size of your app in the long term.
There are also benefits from opting into app signing by Google Play (which is a requirement to use app bundles):
14. You’ll be protected against key loss. When you’re opted into app signing by Play and you lose your upload key, you can confirm your identity with Google and get a new upload key. If you lose your app signing key without opting into app signing by Play, there’s nothing Google can do to help. You wouldn’t be able to update your app anymore.
15. You can upgrade a weak or compromised key to a new key. Apps enrolled in app signing by Play can now request a key upgrade to start using a cryptographically stronger key.
16. It’s the future! We can’t wait to share more exciting tools and delivery mechanisms we’re working on for your apps and games, which are made possible by the app bundle and dynamic delivery.
Answers to common questions about the app bundle
How do I build an Android App Bundle?
Both Gradle and Buck build systems support app bundles today. You can build app bundles in Android Studio 3.2+ (it’s very easy: simply select Generate Signed Bundle from the Build menu in Android Studio to get started), Unity 2018.3 & 2017.4.17 or later, and Cocos Creator 2.0.9 or later.
How do I test apps generated from an Android App Bundle?
During day-to-day development of new features and bug fixes, you can continue building and installing APKs locally just like you are used to. If you are interested in testing exactly what is being served to each device, use internal app sharing or any of the Play test tracks, to get your test app delivered via Play. In a nutshell, internal app sharing allows for quick and easy sharing of test builds: you simply upload your app to Play, get a shareable URL, and use that URL to download and test the app. You don’t need to worry about version codes or signing keys and your test app can be debuggable.
What’s the best way to distribute my app through non-Play channels that don’t yet support app bundles?
You can build a signed universal APK locally from your app bundle in Android Studio or using bundletool and share it on non-Play Store distribution channels to ensure that the install will succeed on any Android device configuration. Note that P2P sharing apps like Files Go by Google, ShareIt, and Xender support sharing apps published from app bundles. We’re working with other distributors on handling app bundle apps properly.
Do I have to opt in to app signing by Google Play?
Yes. App bundles are a publishing format that Google Play processes in order to generate what’s actually delivered to a device. Like some other major app stores, Google Play holds the signing keys to sign the artifacts generated for distribution. Google stores app signing keys in the same highly secure servers used to protect Google’s own keys. All of this saves you time and unlocks the benefits of app bundles — you simply upload one app bundle artifact to Play and the rest happens automatically.
How do I modularize my app and use custom delivery options?
Learn more about modularizing your app in our dynamic delivery documentation, which includes code labs and samples. You can choose to deliver modules at install time and uninstall them when they’re not needed, or you can deliver features at install time based on conditions such as device features, the user’s country, or SDK version. You can also deliver features on-demand and install them when they’re needed or running in the background. On-demand features can be part of a long term strategy to prevent your app size increasing as you add new features.
Visit g.co/AndroidAppBundle to get started today.
If you have questions or comments about the Android App Bundle, tweet at the team using #AskPlayDev and we’ll reply from @GooglePlayDev, where we regularly share news and tips on how to be successful on Google Play.