앱이 설치된 사용자가 Adjust 링크를 클릭하면 다이렉트 딥링킹을 통해 앱 내의 특정 콘텐츠로 바로 이동할 수 있습니다.
작동 방식
- 사용자가 Adjust 링크를 클릭합니다.
- OS는 앱을 실행하고, 딥링크를 네이티브 코드(iOS 또는 Android)로 전달합니다.
- Adjust SDK는 네이티브 코드에서 OS로부터의 딥링크를 수신하고
directDeeplinkCallback로 전달합니다. - 코드는 어트리뷰션을 위해 링크를 Adjust SDK로 전달합니다. SDK는 단축 브랜드 링크도 해석합니다.
- 코드는 해석된 링크를 기반으로 사용자를 탐색합니다.
Adjust SDK 메서드
다이렉트 딥링크 콜백
Adjust SDK가 네이티브 코드에서 수신한 딥링크를 받으려면 Adjust.initSdk를 호출하기 전에 AdjustConfig 객체에 directDeeplinkCallback를 설정하시기 바랍니다.
DirectDeeplinkCallback? directDeeplinkCallback;딥링크 처리 및 확인(권장)
Adjust.processAndResolveDeeplink 메서드를 사용하여 다음 작업을 수행합니다.
- 딥링크 클릭에서 어트리뷰션 기록
- 단축 브랜드 링크를 이에 상응하는 긴 브랜드 링크로 변환
- 다른 모든 링크를 그대로 전달
static Future<String?> processAndResolveDeeplink(AdjustDeeplink deeplink)딥링크 처리(레거시)
Adjust.processDeeplink 메서드는 단축 브랜드 링크를 사용하지 않는 경우 딥링크 클릭으로부터의 어트리뷰션을 기록합니다.
static void processDeeplink(AdjustDeeplink deeplink)processAndResolveDeeplink 메서드는 이 레거시 메서드를 대체합니다.
구현
Adjust.initSdk를 호출하기 전에 AdjustConfig 객체에 directDeeplinkCallback를 설정합니다. 콜백은 Adjust SDK가 네이티브 코드에서 OS로부터 딥링크를 수신할 때마다 실행됩니다.
AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.sandbox);
// Set direct deep link callback before initializing SDKadjustConfig.directDeeplinkCallback = (String? incomingLink) async { if (incomingLink == null) return;
// Create deep link object final deeplink = AdjustDeeplink(incomingLink);
// Send deep link to Adjust's servers for attribution. // If short branded link, receive long link. // Otherwise, receive original link. final resolvedLink = await Adjust.processAndResolveDeeplink(deeplink);
// Handle failure if resolvedLink is null if (resolvedLink == null) return;
/* * TODO: Handle the deep link by parsing the path * and navigating to the appropriate screen. * * Possible resolvedLink formats: * * 1. https://brandname.go.link/?adj_t=abc123& * adj_link=https%3A%2F%2Fexample.com%2Fsummer-clothes%3Fpromo%3Dbeach * -> extract and decode the deep link from adj_link * * 2. https://brandname.go.link/summer-clothes?promo=beach&adj_t=abc123 * -> extract path from the URL * * 3. example://summer-clothes?promo=beach&adj_t=abc123 * -> extract path from the URL * * Note (Android only): If your Android app scheme path differs from iOS, * you may receive: * https://brandname.go.link/?adj_t=abc123& * adj_deep_link=example%3A%2F%2Fandroid-specific-path%3Fparam%3Dvalue * -> extract and decode the deep link from adj_deep_link */};
Adjust.initSdk(adjustConfig);