How to create and use deep links
The inability to directly access specific content or features within an app or website can be frustrating for users who want to quickly access specific information or tasks, and can also be a hindrance to businesses that want to direct users to specific content. Using XR technologies, accessing the right content becomes even more difficult and time-consuming.
Innoactive Portal's launch arguments feature solves this problem by allowing users to create deep-links that directly access specific content or features, in the right mode, within an app or website. This makes it easier for users to access the information they need and helps businesses to direct users to specific content more efficiently.
For a general understanding about how launch arguments work, please refer to this How to use launch arguments.
Create a deep link
To use deep linking with the Innoactive Portal, you can use the following process:
First, you will need to make sure that your XR application is set up to accept deep link arguments. This typically involves adding code to your application to parse and handle deep link arguments passed to it when it is launched, you can refer to this example.
Once your application is set up to handle deep link arguments, you can create a deep link URL that points to your application on the Innoactive Portal. The deep link URL should include the following information:
The base URL of the Innoactive Portal, which is typically https://[orgname].innoactive.io/
The ID of your application as stated in the Integrations tab of your application in Portal Control Panel, an alpha numerical identifier like 29a09326-7892-4759-a3c2-50fc06ae8ef5
The launch command for the Innoactive Portal, which is typically launch/somehow/somewhere and defines the way you want to launch the app:
Append
launch/cloud/standalone
to Cloud-launch in VR mode (e.g. stream to Quest using CloudXR).
https://[orgname].innoactive.io/apps/[appID]/launch/cloud/standaloneAppend
launch/cloud/browser
to Cloud-launch in Screen mode (stream to browser using WebRTC)
https://[orgname].innoactive.io/apps/[appID]/launch/cloud/browserAppend
launch/local/windows
to Local-launch on Windows PC
https://[orgname].innoactive.io/apps/[appID]/launch/local/windowsAppend
launch/local/standalone
to Local-launch in VR mode (e.g. launch an .apk on Quest)
(optional) Specify the performance tier with vmSize=tier for example
vmSize=t4.medium
you can find the available tiers in the cloud rendering tab of your application in the control panel.(optional) Specify the cloud rendering location with region=region-1 for example
region=eu-central-1
. If you don’t know the name of your region, please reach out to support@innoactive.de(optional) Any additional custom arguments args=customarg
Once you have created the deep link URL, you can use it to launch your application from anywhere that supports deep linking, such as a web browser or an email client. When the deep link URL is clicked, the Innoactive Portal will launch your application and pass any specified arguments to it.
Your application can then use the deep link arguments to perform any necessary actions, such as navigating to a specific location within the application, like a meeting room or a training scenario, or displaying a particular piece of content, like an avatar or a 3D model.
Deep link example
For example, a deep link URL for an XR application on the Innoactive Portal might look like this:
https://[orgname].innoactive.io/apps/29a09326-7892-4759-a3c2-50fc06ae8ef5/launch/cloud/browser?vmSize=t4.medium®ion=eu-central-1&args=--argname%20argvalue
This URL would launch the application with ID 29a09326-7892-4759-a3c2-50fc06ae8ef5
on Portal org, specifying that it should be launched in a web browser via cloud streaming, on a T4 medium GPU, in Frankfurt, passing the argument --argname argvalue
to the application.
Note: deep links with the old format, like this one:
https://[orgname].innoactive.io/apps/123/launch?device=browser&args=--argname%20argvalue
Will continue to work as usual, but you can’t specify performance tiers and cloud rendering locations with the old format.
Another example that launches the app on the headset and hands over an avatar url would look like this https://[orgname].innoactive.io/apps/[appID]/launch/cloud/standalone?args=--avatar%20https://api.readyplayer.me/v1/avatars/6391cba89ef842b3a50e0417.glb
The url needs to be encoded, you can use external tools to do that.