Skip to content

Latest commit

 

History

History
66 lines (52 loc) · 2.3 KB

RN_UnifiedDeepLink.md

File metadata and controls

66 lines (52 loc) · 2.3 KB
title category parentDoc order hidden
Unified Deep Linking (UDL)
5f9705393c689a065c409b23
645213236f53a00d4daa9230
9
false

📘 UDL privacy protection

For new users, the UDL method only returns parameters relevant to deferred deep linking: deep_link_value and deep_link_sub1 to deep_link_sub10. If you try to get any other parameters (media_source, campaign, af_sub1-5, etc.), they return null.

UDL flow

  1. The SDK is triggered by:
    • Deferred Deep Linking - using a dedicated API
    • Direct Deep Linking - triggered by the OS via Android App Link, iOS Universal Links or URI scheme.
  2. The SDK triggers the OnDeepLink listener, and passes the deep link result object to the user.
  3. The OnDeepLink listener uses the deep link result object that includes the deep_link_value and other parameters to create the personalized experience for the users, which is the main goal of OneLink.

Check out the Unified Deep Linking docs for Android and iOS.

Considerations:

  • Requires AppsFlyer Android SDK V6.1.3 or later.
  • Does not support SRN campaigns.
  • Does not provide af_dp in the API response.
  • onAppOpenAttribution will not be called. All code should migrate to onDeepLink.

Implementation:

Important The code implementation for onDeepLink must be made prior to the initialization code of the SDK.

Example:

const onDeepLinkCanceller = appsFlyer.onDeepLink(res => {
  if (res?.deepLinkStatus !== 'NOT_FOUND') {
        const DLValue = res?.data.deep_link_value;
        const mediaSrc = res?.data.media_source;
        const deepLinkSub1 = res?.data.deep_link_sub1; // get up to 10 custom OneLink params
	
	[...]
	
	const deepLinkSub10 = res?.data.deep_link_sub10; // get up to 10 custom OneLink params
        console.log(JSON.stringify(res?.data, null, 2));
      }
})

appsFlyer.initSdk(
  {
    devKey: 'K2***********99',
    isDebug: false,
    appId: '41*****44',
    onInstallConversionDataListener: true,
    onDeepLinkListener: true // -->  you must set the onDeepLinkListener to true to get onDeepLink callbacks
  },
  (result) => {
    console.log(result);
  },
  (error) => {
    console.error(error);
  }
);