Test asset delivery
Stay organized with collections
Save and categorize content based on your preferences.
Use the steps in this guide to test how your app integrates Play Asset Delivery
to retrieve asset packs.
Local testing
Play Asset Delivery supports local testing by installing a new version of the
game using bundletool
. Use local testing
for quick, iterative cycles as it avoids the need to upload the game to Google
Play servers. The steps you need to take depend on whether you're
developing in Java, native, or Unity.
Java or native
Follow these steps to test your app locally:
Build your app bundle.
Generate APKs with the --local-testing
flag:
java -jar bundletool-all.jar build-apks --bundle=path/to/your/bundle.aab \
--output=output.apks --local-testing
Connect a device and run bundletool
to sideload the APKs:
java -jar bundletool.jar install-apks --apks=output.apks
Unity
In the Unity Editor, select Google > Build and Run.
Behavior
install-time
packs will be installed during the app installation process.
fast-follow
packs behave as on-demand
packs. That is, they won't be
automatically fetched when the game is sideloaded. Developers need to request
them manually when the game starts; this does not require any code changes in
your app.
Limitations
The following are limitations of local testing:
- Packs fetch from external storage instead of Play, so you cannot test
how your code behaves in the case of network errors.
- Local testing does not cover the wait-for-Wi-Fi scenario.
- Updates are not supported. Before installing a new version of your
build, manually uninstall the previous version.
Testing with internal app sharing
As you get closer to having a release candidate, test
your game using as realistic a configuration as possible to make sure that your game will perform
well for your users in production. To validate this, you can use
internal app sharing
to get a sharable link that you can use to download the game from Play while
getting the exact same behaviour as your users will once the game is
published to the Play Store.
To test Asset Delivery using internal app sharing, do the following:
- Build your app bundle.
- Follow the Play Console instructions on how to
share your app internally.
- On the test device, click the internal app-sharing link for the version of
your app you just uploaded.
- Install the app from the Google Play Store page you see after clicking the
link.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-07-21 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-07-21 UTC."],[],[],null,["# Test asset delivery\n\nUse the steps in this guide to test how your app integrates Play Asset Delivery\nto retrieve asset packs.\n\nLocal testing\n-------------\n\nPlay Asset Delivery supports local testing by installing a new version of the\ngame using [`bundletool`](/studio/command-line/bundletool). Use local testing\nfor quick, iterative cycles as it avoids the need to upload the game to Google\nPlay servers. The steps you need to take depend on whether you're\ndeveloping in Java, native, or Unity.\n\n- [Java](#steps-native-java)\n- [Native](#steps-native-java)\n- [Unity](#steps-unity)\n\n### Java or native\n\nFollow these steps to test your app locally:\n\n1. [Build your app bundle](/guide/playcore/asset-delivery#next-step-instructions).\n\n2. Generate APKs with the `--local-testing` flag:\n\n ```\n java -jar bundletool-all.jar build-apks --bundle=path/to/your/bundle.aab \\\n --output=output.apks --local-testing\n ```\n3. Connect a device and run `bundletool` to sideload the APKs:\n\n ```\n java -jar bundletool.jar install-apks --apks=output.apks\n ```\n\n### Unity\n\nIn the Unity Editor, select **Google \\\u003e Build and Run**.\n\n### Behavior\n\n`install-time` packs will be installed during the app installation process.\n\n`fast-follow` packs behave as `on-demand` packs. That is, they won't be\nautomatically fetched when the game is sideloaded. Developers need to request\nthem manually when the game starts; this does not require any code changes in\nyour app.\n\n### Limitations\n\nThe following are limitations of local testing:\n\n- Packs fetch from external storage instead of Play, so you cannot test how your code behaves in the case of network errors.\n- Local testing does not cover the wait-for-Wi-Fi scenario.\n- Updates are not supported. Before installing a new version of your build, manually uninstall the previous version.\n\nTesting with internal app sharing\n---------------------------------\n\nAs you get closer to having a release candidate, test\nyour game using as realistic a configuration as possible to make sure that your game will perform\nwell for your users in production. To validate this, you can use\n[internal app sharing](https://support.google.com/googleplay/android-developer/answer/9303479)\nto get a sharable link that you can use to download the game from Play while\ngetting the exact same behaviour as your users will once the game is\npublished to the Play Store.\n\nTo test Asset Delivery using internal app sharing, do the following:\n\n1. Build your app bundle.\n2. Follow the Play Console instructions on how to [share your app internally](https://support.google.com/googleplay/android-developer/answer/9303479).\n3. On the test device, click the internal app-sharing link for the version of your app you just uploaded.\n4. Install the app from the Google Play Store page you see after clicking the link."]]