These best practices can improve install latency when Play as you Download is enabled for your app.
Use the latest SDKs
Use the latest SDKs for your app, especially if you are using the following SDKs:
-
Facebook Core SDK: 11.2.0 or higher
FB Audience Network (ads): 6.5.1 or higher
The latest SDKs are optimized for Play as you Download to operate without scanning the entire app binary. This lets users start your app more quickly the first time they launch.
Use install-time asset packs
Use install-time asset packs to store large game assets. Google Play optimizes downloads by analyzing use patterns of install-time asset packs. This helps the game launch much faster while only downloading data that users need during the initial game launch.
The following table shows what code and resources are optimized by Play as you download when games use an Android App Bundle with Play Assets Delivery.
Resource format | Optimized by Play as you Download | Not optimized by Play as you Download |
---|---|---|
Android App Bundle files | Base Module and install-time dynamic features (except ‘res/’ and ‘values/’ directories) | `res/` and `values/` directories of base module and install-time dynamic features |
On-demand dynamic features | ||
Play Asset Delivery files | Install-time asset packs | Fast-follow asset packs |
On-demand asset packs |
Limit preloaded assets
Instead of preloading all app assets at once, only load what's needed for the current user experience such as the menu or level. Loading too many assets during the initial experience uses more network data up front.
Here are some additional recommendations for Unity games:
Split large scenes into multiple scenes to avoid loading large amounts of asset data at once.
Use an asset loading profiler (such as the Asset Loading Profiler module in Unity) to identify asset loading optimizations for your game.
Fix ANRs
By fixing ANRs (Application Not Responding errors) in your app, you can also improve the Play as you Download experience of the app. For example, by removing IO operations from the main thread, you can minimize ANRs from occurring while Play is downloading app assets in background.