딥 링크 지원

문서

딥링크 지원

딥링크는 사용자의 휴대폰에서 앱을 열어 앱의 기본 위젯이 아닌 특정 페이지나 사용자 경험으로 바로 연결되는 링크입니다. 딥링크는 일반적으로 휴대폰에 이미 앱이 설치되어 있지만 한동안 앱을 사용하지 않은 사용자를 대상으로 하는 리타겟팅 캠페인에 사용됩니다. Singular는 Singular 링크를 통해 딥링크를 지원합니다.

Singular 링크 활성화하기

iOS와 Android에서 Singular 링크를 활성화하려면 Singular 링크 전제 조건을 참조하세요 .

Android 지원의 경우 프로젝트의 MainActivity.java 파일에 다음 코드를 추가합니다:

Java Kotlin
import com.singular.flutter_sdk.SingularBridge;
import android.content.Intent;

@Override
protected void onNewIntent(@NonNull Intent intent) {
  super.onNewIntent(intent);
  SingularBridge.onNewIntent(intent);
}

iOS 지원의 경우 프로젝트의 AppDelegate.m에 다음을 추가합니다:

Objective-C Swift
// Top of AppDelegate.m


            
#import "SingularAppDelegate.h"

- (BOOL)application:(UIApplication *)application 
     didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
       [GeneratedPluginRegistrant registerWithRegistry:self];
       [SingularAppDelegate shared].launchOptions = launchOptions;
       return [super application:application 
         didFinishLaunchingWithOptions:launchOptions];
}

- (BOOL)application:(UIApplication *)application 
     continueUserActivity:(NSUserActivity *)userActivity 
     restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> 
       *restorableObjects))restorationHandler {
         [[SingularAppDelegate shared] continueUserActivity:userActivity 
           restorationHandler:restorationHandler];
     return [super application:application continueUserActivity:userActivity 
         restorationHandler:restorationHandler ];
}

- (BOOL)application:(UIApplication *)app 
     openURL:(NSURL *)url 
     options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
       [[SingularAppDelegate shared] handleOpenUrl:url options:options];
       return [super application:app openURL:url options: options];
}

Singular 링크 처리

Singular의 핸들러 메커니즘을 사용하여 앱이 열리게 된 추적 링크의 세부 정보를 읽습니다.

예를 들어

SingularConfig config = new SingularConfig('<SDK KEY>', '<SDK SECRET>');

config.singularLinksHandler = (SingularLinkParams params) {
  String deeplink = params.deeplink;
  String passthrough = params.passthrough;
  bool isDeferred = params.isDeferred;
  // Add your code here to handle the deep link


};
          
Singular.init(config);