Skip to content

Deep Link to XR View

If you are unable or not seeking to embed the Minsar Viewer SDK in your app or website, we provide an even simpler way for your users to view your experiences! The Deep Link feature allows developers to redirect users to an experience made in Minsar using our own XR View viewer app.

Compatibility

In this scenario, there are 2 ways to view an Experience made in Minsar, and depending on the content compatibility may vary.

The scene might be compatible with the WebXR Viewer, which requires no app installation and runs in the browser.

The WebXR Viewer will be available on Android, LuminOS (Magic Leap One), Windows Mixed Reality (HoloLens 2), Oculus Quest starting Q3 2020. We plan to add iOS support in the months following the initial release.

Incompatible experiences will need to be viewed from the XR View app, which is available on iOS and Android, and will soon be available on LuminOS and Windows Mixed Reality (HoloLens).

Open Experience API

Developers can let the Minsar Distribute API choose the best viewing mode with Automatic mode, or force the redirection to either the WebXR Viewer or the native app.

API Reference

Automatic Mode

If XR View is already installed, it will automatically open the app; otherwise, it will attempt to view the experience from the browser.

If the experience or device isn't compatible, it will redirect the user to the app store page of the native XR View app. Once the app is installed, it will open the experience.

Deep Link: https://xrtp.link/?id=${ExperienceId}

App Scheme

This scenario assumes the user already has XR View installed. Using deep linking, the experience is automatically opened in XR View.

Deep Link: xrtp://xrtp.link/view?id=${ExperienceId}

Getting Started

You will find below the different URLs you can call to open an experience. We recommend using the platform's native API for calling a URL:

iOS

From the iOS API Documentation:

guard let url = URL(string: "ONE_OF_THE_URL_ABOVE") else {
    return ;
}
UIApplication.shared.open(url, options: [:], completionHandler: nil)
NSURL *URL = [NSURL URLWithString:@"ONE_OF_THE_URL_ABOVE"];
UIApplication *application = [UIApplication sharedApplication];
[application openURL:URL options:@{} completionHandler:nil];

Android

From the Android API Documentation:

// Build the intent
val experience = Uri.parse("ONE_OF_THE_URL_ABOVE")
val xpIntent = Intent(Intent.ACTION_VIEW, experience)

// Verify it resolves
val activities: List<ResolveInfo> = packageManager.queryIntentActivities(xpIntent, 0)
val isIntentSafe: Boolean = activities.isNotEmpty()

// Start an activity if it's safe
if (isIntentSafe) {
    startActivity(mapIntent)
}
// Build the intent
Uri experience = Uri.parse("ONE_OF_THE_URL_ABOVE");
Intent xpIntent = new Intent(Intent.ACTION_VIEW, experience);

// Verify it resolves
PackageManager packageManager = getPackageManager();
List<ResolveInfo> activities = packageManager.queryIntentActivities(xpIntent, 0);
boolean isIntentSafe = activities.size() > 0;

// Start an activity if it's safe
if (isIntentSafe) {
    startActivity(mapIntent);
}

Support

Having trouble with integrating the deep linking features? Please contact our support!