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: