App Deeplinking with Platform Solutions

App Deeplinking 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 Deeplinking in both apps, a user can join a multiplayer session from the single player app.

Deeplinking 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.

Originating App Implementation

The originating app will call the LaunchOtherApp method to launch the other application.

Native - ovr_Application_LaunchOtherApp(appId, deeplink_options)

Unity - Platform.Application.LaunchOtherApp(appId, deeplink_options)

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

Parameters:

ParameterDescription
appIDThe ID of the app to launch
deeplink_optionsAdditional 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);

And in Unity:

var options = new ApplicationOptions(); options.SetDeeplinkMessage("abc");
Platform.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.

Receiving App Implementation

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.

Unreal Development

If you’re using Unreal, please use the native C API using the information found in Unreal Development Getting Started.