Through Google Play, Android XR brings your app's immersive and augmented experiences to a variety of XR devices like XR headsets, wired XR glasses, and audio glasses.
Read this guide to learn how to prepare and distribute your apps to Android XR users through Google Play. Also make sure to review the Android XR app quality guidelines for information on usability and quality standards for different types of app experiences.
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're new to the Play Store or Play Console, then these resources can help you get started.
On some Android XR devices like XR headsets and wired XR glasses, a user can visit the Play Store and download an app directly to the device. On other devices like audio glasses, a user downloads an app to their companion device (like a phone), which then connects to the glasses to provide the app's experience.
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:
- Register for a Google Play Developer account
- Review the Google Play Developer Policy Center
- Create and set up your app using Play Console
- Set up pricing for your app
- Set up an open, closed, or internal test
- Learn about the Android App Bundle publishing format and the app bundle explorer
- View reports, statistics, and insights about your app and its users
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:
- Organize your code and resources according to established conventions
- Build signed Android App Bundles using Android Studio or by using the command line and upload them to Google Play
Google Play's maximum size limits also apply to Android XR apps.
You might 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 options for how you publish and manage your apps. For Android XR, there are different release tracks that you might use, depending on the types of app experiences you're building.
Choose a release track for apps with augmented experiences
If you're publishing your app's augmented experiences for audio glasses, use the mobile release track. Play Console doesn't have a dedicated release track for audio glasses.
You can implement features and content for audio glasses into your existing mobile APK and publish the same assets on the mobile release track without any specific publishing changes in Play Console.
Receive a differentiated label in the Play Store
The Play Store can label your app as "Differentiated for Glasses" to help users discover high-quality experiences for audio glasses. To receive this label, implement a projected activity for your app's augmented experience.
Choose a release track for apps with immersive experiences
If you're building an app with immersive experiences for XR headsets or wired XR glasses, there are two release tracks you can use:
- Mobile release track: The same track that apps use to publish to Android mobile devices like phones and tablets.
- Dedicated Android XR release track: A dedicated track for apps and app variants that are exclusively available on Android XR devices.
The release track you choose 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 to help you decide which release track is right for your app.
1. 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 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 might have significantly different features or requirements. For example, your XR app might require a different set of permissions, or it might offer very different functionality that makes it difficult to refactor it to serve both mobile and XR use cases.
In these cases, you can choose to create a new APK for your XR experience using the existing registered app entry in Play Console. If you choose this option, keep the following things in mind:
- The new APK will share a package name with your existing mobile app.
- Your existing mobile app stays published on the mobile track.
- Your new XR variant of the app is 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, your app must declare one of the following features in its manifest, depending on the tools you're using to build your app:
- Jetpack XR SDK: Declare the
android.software.xr.api.spatialfeature. For more information about this and other features that you can declare, see the corresponding section in the Jetpack XR SDK guide. - Unity, Godot, Unreal Engine, or OpenXR: Declare the
android.software.xr.api.openxrfeature. For more information about this and other features that you can declare, see the corresponding section in the OpenXR guide.
Apps that are published to the Android XR dedicated track are only visible to
Android XR devices that support either the android.software.xr.api.spatial or
android.software.xr.api.openxr features.
For more information about using the dedicated release track for Android XR, see the Play Console guide.
2. Build a new XR app
For new apps 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, your app must declare one of the following features in its manifest, depending on the tools you're using to build your app:
- Jetpack XR SDK: Declare the
android.software.xr.api.spatialfeature. For more information about this and other features that you can declare, see the corresponding section in the Jetpack XR SDK guide. - Unity, Godot, Unreal Engine, or OpenXR: Declare the
android.software.xr.api.openxrfeature. For more information about this and other features that you can declare, see the corresponding section in the OpenXR guide.
Apps that are published to the Android XR dedicated track are only visible to
Android XR devices that support either the android.software.xr.api.spatial or
android.software.xr.api.openxr features.
For more information about using the dedicated release track for Android XR, see the Play Console guide.
Manage device exclusions
After you've uploaded at least one app bundle to 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
- Prepare your app for release
- Add preview assets to showcase your app
- Sign your app
- Upload your app
- Set up an open, closed, or internal test
- Release with confidence
- App testing requirements for new personal developer accounts
- Google Play Developer Center
OpenXR™ and the OpenXR logo are trademarks owned by The Khronos Group Inc. and are registered as a trademark in China, the European Union, Japan and the United Kingdom.