adjust-icon

딥링킹

사용자를 앱의 특정 페이지로 이동시키기 위해 딥링크를 생성할 수 있습니다. Adjust SDK는 사용자 기기에 앱이 이미 설치되어 있는지 여부에 따라 다른 로직을 적용합니다.

  • 다이렉트 딥링킹: 사용자 기기에 앱이 이미 설치되어 있는 경우에 사용됩니다. 사용자는 링크가 의도한 페이지로 이동됩니다.
  • 디퍼드 딥링킹: 사용자가 아직 앱을 설치하지 않은 경우에 사용됩니다. 링크는 먼저 사용자를 앱을 설치할 수 있는 스토어 페이지로 이동시킵니다. 사용자가 앱을 설치한 이후에 링크는 의도한 페이지를 엽니다.

SDK는 사용자가 링크를 통해 앱을 실행한 이후에 딥링크 데이터를 읽을 수 있습니다.

딥링크 설정

사용자가 앱을 설치한 경우, 사용자가 딥링크 정보가 포함된 링크를 클릭하면 딥링크가 실행됩니다. Adjust SDK는 앱에서 사용하기 위해 딥링크 정보를 파싱할 수 있는 툴을 포함하고 있습니다.

딥링크는 앱 수준에서 설정되어야 합니다. 아래의 플랫폼별 딥링크 설정 가이드 링크를 참조하시기 바랍니다.

사용자를 재할당하려면, 딥링크 URL을 사용하여 ADJDeeplink/AdjustDeeplink 객체를 생성하고 이를 Adjust.processDeeplink 메서드에 전달해야 합니다. 이후 Adjust SDK는 딥링크 내에서 새로운 어트리뷰션 데이터를 찾습니다. SDK가 새로운 정보를 찾으면 이는 리어트리뷰션을 위해 Adjust 서버로 전달됩니다.

iOS

메서드 서명
+ (void)processDeeplink:(ADJDeeplink *)deeplink

딥링크를 통한 Adjust 리어트리뷰션을 활성화하려면, 앱 델리게이트 콜백 중 하나에서 딥링크를 얻은 후 Adjust.processDeeplink 메서드를 호출해야 합니다.

import AdjustSdk
class AppDelegate {
func application(application:UIApplication!, didFinishLaunchingWithOptions launchOptions:NSDictionary!) -> Bool {
GeneratedPluginRegistrant.registerWithRegistry(self)
// Override point for customization after application launch.
return super.application(application, didFinishLaunchingWithOptions:launchOptions)
}
func application(application:UIApplication!, openURL url:NSURL!, sourceApplication:String!, annotation:AnyObject!) -> Bool {
let deeplink = ADJDeeplink(deeplink: url)!
Adjust.processDeeplink(deeplink)
return true
}
func application(application:UIApplication!, continueUserActivity userActivity:NSUserActivity!, restorationHandler:([AnyObject]!)->Void) -> Bool {
if (userActivity.activityType() == NSUserActivityTypeBrowsingWeb) {
let deeplink = ADJDeeplink(deeplink: userActivity.webpageURL())!
Adjust.processDeeplink(deeplink)
}
return true
}
}

Android

메서드 서명
public static void processDeeplink(AdjustDeeplink deeplink)

딥링크를 통한 Adjust 리어트리뷰션을 활성화하려면, 활동에서 딥링크를 얻은 이후 Adjust.processDeeplink 메서드를 호출하시기 바랍니다.

import com.adjust.sdk.flutter.AdjustSdk
import io.flutter.embedding.android.FlutterActivity
// Used for post flutter 1.12 Android projects
//import io.flutter.app.FlutterActivity
class MainActivity : FlutterActivity() {
// Either call make the call in onCreate.
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// GeneratedPluginRegistrant.registerWith(this)
// Used only for pre flutter 1.12 Android projects
Intent intent = getIntent()
Uri data = intent.getData()
Adjust.processDeeplink(new AdjustDeeplink(data), this)
}
// Or make the call in onNewIntent.
override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent)
Uri data = intent.getData()
Adjust.processDeeplink(new AdjustDeeplink(data), this)
}
}

디퍼드 딥링크

속성 선언
bool? isDeferredDeeplinkOpeningEnabled;

SDK는 기본 설정에 따라 디퍼드 딥링크를 실행합니다. 추가 설정은 필요하지 않습니다. config 인스턴스에서 isDeferredDeeplinkOpeningEnabled 속성을 false 로 설정하고 이를 비활성화할 수 있습니다.

AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.sandbox);
//...
adjustConfig.isDeferredDeeplinkOpeningEnabled = false;
//...
Adjust.initSdk(adjustConfig);
속성 선언
typedef void DeferredDeeplinkCallback(String? deeplink);
DeferredDeeplinkCallback? deferredDeeplinkCallback;

config 인스턴스에서 deferredDeeplinkCallback 속성에 함수를 추가하고 디퍼드 딥링크 수신 시 함수를 호출하도록 Adjust SDK를 구성할 수 있습니다. 이 함수는 딥링크를 String 인수로 수신합니다.

AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.sandbox);
adjustConfig.deferredDeeplinkCallback = (String? deeplink) {
print('[Adjust]: Received deferred deeplink: ' + deeplink);
};
Adjust.initSdk(adjustConfig);

이 예시에서는 사용자가 디퍼드 딥링크를 열 때 Adjust가 딥링크 주소를 기록하는 방법을 보여줍니다.

import 'package:adjust_sdk/adjust.dart';
import 'package:adjust_sdk/adjust_config.dart';
initPlatformState() async {
AdjustConfig config =
new AdjustConfig('2fm9gkqubvpc', AdjustEnvironment.sandbox);
config.logLevel = AdjustLogLevel.verbose;
config.deferredDeeplinkCallback = (String? uri) {
print('[Adjust]: Received deferred deeplink: ' + uri!);
};
Adjust.initSdk(config);
}

LinkMe 활성화

속성 선언
bool? isLinkMeEnabled;

Adjust SDK를 사용하면 디바이스 페이스트보드에서 딥링크 정보를 복사할 수 있습니다. Adjust LinkMe 솔루션과 함께 사용 시 Adjust SDK는 iOS 15 이후 버전이 지원되는 기기에서 디퍼드 딥링킹을 활성화합니다.

사용자가 LinkMe URL을 클릭하면 링크 정보를 시스템 페이스트보드에 복사할 수 있는 옵션이 주어집니다. Adjust SDK는 딥링크 정보에 대한 시스템 페이스트보드를 읽고 딥링크 정보가 있는 경우 사용자를 의도한 페이지로 이동시킬 수 있습니다.

앱에서의 페이스트보드 확인을 활성화하려면 config 객체의 isLinkMeEnabled 속성을 true로 설정합니다.

AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.sandbox);
//...
adjustConfig.isLinkMeEnabled = true;
//...
Adjust.initSdk(adjustConfig);