Deep Linking in Xamarin Android plugin
The following document describes how to integrate the Xamarin Android plugin to support deep linking.
Â
In order to integrate your app with the deep linking, you will need to add the following intent-filter for an appropriate activity to the Android Manifest File:
<intent-filter>
<data android:scheme="apx" />
<data android:host="deeplink" />
<action android:name="com.appoxee.VIEW_DEEPLINK" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
Example:
<activity android:name="com.mappp.MappAndroidSDKTest.DeepLinkActivity">
<intent-filter>
<data android:scheme="apx" />
<data android:host="deeplink" />
<action android:name="com.appoxee.VIEW_DEEPLINK" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
Â
The current version of deep linking requires the developer to anticipate where a deep link will be received in the app.Â
On each app page where a deep link is expected put this piece of code:Â
Android.Net.Uri uri;
if (intent != null)
{
if ("com.appoxee.VIEW_DEEPLINK".Equals(intent.Action))
{
uri = intent.Data;
//Data supplied from the front-end.
var link = uri.GetQueryParameter("link");
//This is the messageId
var messageId = uri.GetQueryParameter("message_id");
//This is the eventTrigger only for version 5.0.7 and higher
var eventTrigger = uri.GetQueryParameter("event_trigger");
}
}
Example: