Unified Deep Linking (UDL)

📘

Proteção de privacidade do UDL

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. O SDK é acionado por:
    • Deferred Deep Linking - usando uma API dedicada
    • Direct Deep Linking - acionado pelo SO via Android App Link, iOS Universal Links ou esquema de URI.
  2. The SDK triggers the OnDeepLink e passa o objeto de resultado do deep link para o usuário.
  3. The OnDeepLink usa o objeto de resultado do deep link que inclui o deep_link_value e outros parâmetros para criar a experiência personalizada para os usuários, que é o principal objetivo do OneLink.

Confira os documentos de Unified Deep Linking para Android e iOS.

Considerations:

  • Requer AppsFlyer Android SDK V6.1.3 ou posterior.
  • Não é compatível com campanhas SRN.
  • Não fornece af_dp na resposta da API.
  • onAppOpenAttribution não será chamado. Todo o código deve migrar para onDeepLink.

Implementation:

Importante A implementação do código para onDeepLink deve ser feito antes do código de inicialização do SDK.

Exemplo:

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);
  }
);