All Oculus Quest developers MUST PASS the concept review prior to gaining publishing access to the Quest Store and additional resources. Submit a concept document for review as early in your Quest application development cycle as possible. For additional information and context, please see Submitting Your App to the Oculus Quest Store.
Note: You are viewing the Unreal version of this topic. To view this topic for Unity development, see App Deep Linking with Platform Solutions (Unity). To view this topic for native development, see App Deep Linking with Platform Solutions (Native).
App deep linking allows you to launch users directly into an app event or gameplay mode.
For example, you may have two separate applications, one single player and one multiplayer. If you implement App Deep linking in both apps, a user can join a multiplayer session from the single player app.
Deep linking requires an integration in both the app the request originates from, and the target app. The next sections describes the implementation required for both apps.
Note that this feature accesses user data and may require you to complete the Data Use Checkup form prior to submitting your app to the Oculus Store. For more information, see Complete a Data Use Checkup.
For Unreal development, you can use the Platform native API and information found in the Platform Unreal Development - Get Setup guide.
The originating app will call the
LaunchOtherApp method to launch the other application.
This method launches a different application in the user’s library. If the user does not have that application installed, they will be taken to that app’s page in the Oculus Store
|The ID of the app to launch|
|Additional configuration for this requests. Optional.|
For example, a request from a native application may resemble:
ovrApplicationOptionsHandle options = ovr_ApplicationOptions_Create(); ovr_ApplicationOptions_SetDeeplinkMessage(options, "abc"); ovr_Application_LaunchOtherApp(app_id, options);
Once the request has been made, you should check to see if the target application launched successfully. The request will only succeed if the user is both entitled to (owns) and has installed the target app. If the user does not own the app, or has not downloaded the app, they will be directed to the product information page in 2D Oculus store where they can purchase and download the app.
Note: Rift only - After receiving the notification that the target app was launched successfully, you must quit the originating app yourself before the target app can continue.
Apps launched by
ovr_Application_LaunchOtherApp() will launch as normal, but will receive a notification of type
ovrMessage_Notification_ApplicationLifecycle_LaunchIntentChanged on the message queue.
On app, startup check for this notification and call
ovr_ApplicationLifecycle_GetLaunchDetails() to retrieve information about how the app was launched. All notifications generated by this API will have a launch type of
DEEPLINK. This information allows you to direct the user to the proper app location.
If the user is on Rift and the user does not own the app, the
LaunchOtherApp request returns an error, which should be handled appropriately in your code. If the user does own the app, after receiving the notification that the target app was launched successfully, you must quit the originating app yourself before the target app can continue.
If the user is on a Quest or Quest 2 device, and the user does not own the app, or has not downloaded the app, they will be directed to the product information page in the Oculus store where they can purchase and download the app.