Skip to main content

3.1.22 - Horizon OS Support

ยท 2 min read
Hyo
Expo IAP Maintainer
Ram N
Software Engineer at Meta

Horizon OS Support

Expo IAP 3.1.22 introduces Horizon OS support for Meta Quest devices, enabling developers to implement in-app purchases in VR applications using the same familiar API.

This release integrates Meta's Platform SDK for in-app purchases on Horizon OS, while maintaining the unified OpenIAP interface across iOS, Android, and now Horizon OS.

๐Ÿ‘‰ View the 3.1.22 release

๐Ÿš€ Highlightsโ€‹

Seamless Horizon OS Integrationโ€‹

Expo IAP now supports Meta Quest devices running Horizon OS with zero code changes required. Simply enable Horizon mode in your configuration, and your existing purchase code works seamlessly across all platforms.

Key Features:

  • โœ… In-app purchases (consumable and non-consumable)
  • โœ… Subscriptions
  • โœ… Purchase restoration
  • โœ… Product fetching with localized pricing
  • โœ… Purchase verification
  • โœ… Same API as iOS and Android - no platform-specific code needed

Expo Config Plugin Supportโ€‹

The new Horizon configuration automatically sets up your Android project for Horizon OS:

// app.config.ts
export default {
expo: {
plugins: [
[
'expo-iap',
{
modules: {
horizon: true, // Enable Horizon OS support
},
android: {
horizonAppId: 'YOUR_HORIZON_APP_ID', // Required: Your Horizon App ID
},
},
],
],
},
};

For detailed setup instructions, see the Horizon OS Setup Guide.

The plugin automatically:

  • Sets horizonEnabled=true in gradle.properties
  • Uses openiap-google-horizon artifact instead of openiap-google
  • Adds Horizon Platform SDK and Billing SDK dependencies
  • Configures your app with the Horizon App ID metadata

๐Ÿ“ฆ Getting Startedโ€‹

To get started with Horizon OS integration:

  1. Install expo-iap 3.1.22 or later:

    bun add expo-iap@3.1.22
    # or
    npm install expo-iap@3.1.22
    # or
    yarn add expo-iap@3.1.22
  2. Follow the setup guide: See the Horizon OS Setup Guide for detailed instructions on configuration, testing, and troubleshooting.

No Breaking Changes: All changes are additive. Existing apps will continue to work without modifications. Horizon support is opt-in via configuration.

๐Ÿ”— Referencesโ€‹

Questions or issues? Let us know via GitHub issues.