/
Deep Linking in Xamarin Android plugin
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:
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
SetContentView(Resource.Layout.activity_deeplink);
Android.Net.Uri uri;
if (this.Intent != null)
{
if ("com.appoxee.VIEW_DEEPLINK".Equals(this.Intent.Action))
{
uri = this.Intent.Data;
//Data supplied from the front-end.
string link = uri.GetQueryParameter("link");
//This is the messageId
string messageId = uri.GetQueryParameter("message_id");
//This is the eventTrigger only for version 5.0.7 and higher
string eventTrigger = uri.GetQueryParameter("event_trigger");
/* Deeplink*/
// Intent newActivity = new Intent(Intent.ActionView);
//newActivity.SetData(Android.Net.Uri.Parse(link));
//StartActivity(newActivity);
}
}
}
Related content
Deep Linking in Android
Deep Linking in Android
More like this
Deep-Linking for Appoxee Standalone
Deep-Linking for Appoxee Standalone
More like this
Deep Linking (URL scheme)
Deep Linking (URL scheme)
More like this
Deep Linking
Deep Linking
More like this
Deep Linking with iOS SDK 4.0.14 or later
Deep Linking with iOS SDK 4.0.14 or later
More like this
Android Inbox and In-App Action Handling
Android Inbox and In-App Action Handling
More like this