MicroStrategy ONE

Deep Linking to Third-Party Applications on Android

The URL API in MicroStrategy Mobile SDK for Android allows deep linking. Deep linking allows you to link to specific content in an app installed on the same device. This feature allows users to open third-party applications already installed on their device with context passed by the URL API.

Android supports deep linking with URL scheme, as well as intent.

Deep Linking with URL Schema

The following parameters and values are used to launch third-party applications with URL schema.

Parameters Description Required?
evt

Use a value of 3992 for the evt parameter.

Yes
URL scheme Appears in the beginning of the URL link for the third-party application's schema.

Yes

name/value pairs

You can use data in name/value pairs.

Example:
In itemNumber=849, the item number is the name determined by users. Values can be dynamic, such as Marco (Subcategory@ID).

No

A sample URL for launching third-party applications by URL scheme with static context is shown below.

appScheme://?evt=3992&itemNumber=849

A sample URL for launching third-party applications by URL scheme with dynamic context is shown below.

appScheme://?evt=3992&itemNumber={Subcategory@ID}

Remember to encode URLs that contain spaces or special characters.

Deep Linking with Intent

The following parameters and values are used to launch third-party applications with intent.

Parameter Description Required?
evt

Use a value of 3992 for the evt parameter.

Yes
action

An action name, such as ACTION_VIEW. Application-specific actions are prefixed with the vendor's package name.

Example: android.intent.action.required.inventory

No
component

The className of the component that reacts to the link.

Examples: com.example/.MainActivity

com.example/com.example.MainActivity

No

categories

Set categories to the intent, separated by commas. Categories provide additional detail about the action the intent performs. Android systems use this information to filter and resolve the intent.

No

data A uniform resource identifier (URI), Android-specific field for intent objects. This is usually the content data that the intent handles. You must use URL-encoded formatting. No

type

The mime type. This is Android-specific for intent objects, as an additional specification to the URL type.

No

flags Flags that determine the startup action of the component, such as whether to start in a new task, start in an existing task, clear existing tasks, and so on. No

name/value pairs

You can use other data for the intent, in name/value pairs. You cannot use existing parameter names such as action, component, and so on.

Example:
In itemNumber=849, the item number is the name determined by users. Values can be dynamic, such as Marco (Subcategory@ID).

No

A sample URL for launching third-party applications by Android intent with static context is shown below.

appScheme://?evt=3992&action=android.intent.action.request.Inventory&itemNumber=849

A sample URL for launching third-party applications by Android intent with dynamic context is shown below.

appScheme://?evt=3992&action=android.intent.action.request.Inventory&itemNumber={Subcategory@ID}