Package and distribute apps for Android XR

Through Google Play, Android XR brings a wide variety of apps and experiences to XR headsets, ranging from the existing catalog of mobile apps to spatialized and immersive XR experiences.

Review this guide to learn how to prepare and distribute your apps to Android XR users through Google Play. Be sure to read the Android XR app quality guidelines for information on usability and quality standards.

Follow this guidance to:

  • Get started with the Play Store and Play Console
  • Learn about Android app bundles and size restrictions
  • Choose a release track for your app
  • Manage device exclusions

Get started with the Play Store and Play Console

If you already have a mobile app published in the Play Store, then publishing an app for Android XR will feel familiar. If you are new to the Play Store or Play Console, then these resources will help you get started.

With Android XR, a user can visit the Play Store on an XR headset and download an app directly to the headset.

Uploading and publishing an app requires a Play Console account. You can develop and publish using your existing Play Console account or create one if you are new to the platform.

The Play Console Help Center has the information you need to get started:

Learn about Android app bundles and size restrictions

An Android App Bundle is a publishing format that includes all your app's compiled code and resources, and defers APK generation and signing to Google Play.

Google Play uses your app bundle to generate and serve optimized APKs for each device configuration, so only the code and resources that are needed for a specific device are downloaded to run your app. You don't necessarily have to build, sign, and manage multiple APKs to optimize support for different devices, and users get smaller, more-optimized downloads.

Most app projects won't require much effort to build app bundles that support serving optimized APKs. Optimized APK serving becomes an automatic benefit if you're already doing any of these things:

Google Play's maximum size limits also apply to Android XR apps.

You may want to take advantage of Play Asset Delivery or Play Feature Delivery for Android XR apps, particularly if your app includes a lot of large assets. Play Feature Delivery uses advanced capabilities of app bundles, allowing certain features of your app to be delivered conditionally or downloaded on demand. Play Asset Delivery is Google Play's solution for delivering large amounts of game assets, and it offers flexible delivery methods and high performance.

Choose a release track for your app

Play Console provides you options for how you publish and manage your apps. For Android XR, you can choose from two release tracks: mobile release track or the dedicated Android XR release track.

The release track you depends primarily on whether you're adding spatial UI, 3D models, or spatial environments to an existing mobile app or building a new XR app. Read the following sections for guidance on release track options.

Spatialize an existing mobile app

Existing apps published on the mobile release track are automatically discoverable on Google Play for Android XR users, as long as the app doesn't include any unsupported features for Android XR.

If you choose to differentiate your mobile app for XR by adding features such as spatial UI, 3D models, or spatial environments, you have two options for how you can distribute the app to Android XR users. In either case, use the same package name as your existing app.

Continue publishing to the mobile track

In most cases, you can bundle XR features or content into your existing mobile APK. You won't need to make any specific publishing changes in the Play Console; you can continue working with your existing APK and publish the same assets on the mobile release track. Android XR users will receive artifacts from the mobile release track.

Publish your XR experience to the Android XR dedicated release track

In some situations, your XR app and your mobile app may have significantly different features or requirements. For example, your XR app might require a different set of permissions or it may offer very different functionality that makes it difficult to refactor it to serve both mobile and XR use cases. In these cases, you may choose to create a new APK for your XR experience using the existing registered app entry in Play. The new APK will share a package name with your existing mobile app. Your existing mobile app will stay published on the mobile track, and your new XR variation of the app will be published on the Android XR dedicated track. While this option can provide extra flexibility over your releases, it does have more overhead, since you have multiple APKs to release and manage. To publish to the Android XR dedicated track, the application must include the android.software.xr.immersive feature in the APK's AndroidManifest. For detailed instructions on how to use the dedicated release track for Android XR, see the Play Console guide.

Apps that are published to the Android XR dedicated track will only be visible to Android XR devices devices that support the android.software.xr.immersive feature.

Building a new XR app

For new applications that are intended solely for XR devices, you should publish exclusively to the Android XR dedicated track. To publish to the Android XR dedicated track, the application must include the android.software.xr.immersive feature in the APK's AndroidManifest. For detailed instructions on how to use the dedicated release track for Android XR, see the Play Console guide.

Apps that are published to the Android XR dedicated track will only be visible to Android XR devices devices that support the android.software.xr.immersive feature.

Manage device exclusions

After you've uploaded at least one app bundle to the Play Console, you can view the catalog of available devices and review which devices are compatible with your app. Visit the Play Console help center to understand how to view and restrict your app's compatible devices.

See also