Integrating Add-ons
Updated: Dec 17, 2024
When you are ready to begin integrating add-ons into your app, see the following topics:
Engine specific add-on integration documentation
These topics describe how to integrate add-ons into your app, with guidance for each supported engines.
Engine specific server-to-server add-on integration documentation
These topics describe how to implement server-to-server add-on related flows into your app, with guidance for each of the supported engines.
Engine specific documentation for testing add-ons
These topics describe how to set up testing for your add-on integration through test users in your organization.
Best Practice Purchase Integration
You don’t need to wait for the user to launch the app to sync statuses about purchases and entitlements. We recommend server-to-server communication to ensure that your app server has the latest updates on purchases in a timely manner, even if the IAP purchase was made outside the app on the Oculus Store. This can also help reduce app load time by minimizing data syncing on app launch.
- Setup your Addons.
- Setup your Application Entitlement Check (Unity, Native, Unreal).
- Launch the Checkout Flow for your IAP SKU (Unity, Native, Unreal).
- Real Time Notifications - Integrate with our IAP webhook to receive updates. This way you can listen for new orders and refunds without having to poll our systems after each purchase (Unity, Native, Unreal).
- S2S API Integration - integrate your server with our S2S API.
We recommend using the the App access token to access our S2S endpoints (Unity, Native, Unreal).
- On a successful purchase, verify the entitlement for your user using the verify_entitlement endpoint.
- If the IAP is a Consumable instead of a Durable, you’ll also need to consume the IAP for your user once the entitlement is verified using the consume_entitlement endpoint. On seeing the consume_entitlement call for the app and SKU, Meta now releases the SKU, enabling user to buy the SKU again if the SKU was consumable.
NOTE: If a user purchases your Consumable IAP and it is not consumed within 3 days, that entitlement will automatically be refunded to the user
- (Optional) At any time app can retrieve all user entitlements via the viewer_purchases endpoint.
- (Optional) Test your IAP purchase and integration using Test Users (Unity, Native, Unreal).
If you are having issues integrating with our webhook and S2S server, we also offer the option of syncing your IAP
purchases using the SDK.
NOTE: This will make your application more complex versus allowing your service handle the details of verification and consuming Consumables with S2S integration.
- On a successful purchase, retrieve the list of user purchases and verify the new entitlement for your user (Unity, Native, Unreal).
- If the IAP is a Consumable instead of a Durable, you’ll also need to consume the IAP for your user once the entitlement is verified ((Unity, Native, Unreal)). On seeing the consume_entitlement call for the app and SKU, Meta now releases the SKU, enabling user to buy the SKU again if the SKU was consumable.