딥링킹 연동

시작하기

Deep link intro

Deep Linking Types

  1. 디퍼드 딥링킹 - 신규 또는 재방문 사용자가 앱을 인스톨한 후에 바로 맞춤형 콘텐츠를 제공합니다.
  2. 직접 딥링킹 - 이미 모바일 앱을 인스톨한 기존 사용자에게 맞춤형 콘텐츠를 직접 제공합니다.

Unified deep linking (UDL) - an API which enables you to send new and existing users to a specific in-app activity as soon as the app is opened.

자세한 내용은 OneLink™ 디퍼드 딥링킹 가이드개발자 가이드를 확인하세요.

안드로이드 딥링크 설정

앱스플라이어 SDK는 onResume() 실행 중 액티비티 인텐트 객체를 검사합니다. 따라서 비표준 실행 모드로 구성하거나 실행할 수 있는 각 액티비티에 대해 아래 코드를 다음 함수에 추가합니다: MainActivity.java 값을 android/app/src/main/java/com...:

...
import android.content.Intent;
...
public class MainActivity extends ReactActivity {
...
    @Override
    public void onNewIntent(Intent intent) {
         super.onNewIntent(intent);
         setIntent(intent);
    }
 }

App Links

먼저 SHA256 암호를 생성한 다음, 앱 매니페스트의 관련 액티비티에 다음 인텐트 필터를 추가해야 합니다.

<intent-filter android:autoVerify="true">
    <action android:name="android.intent.action.VIEW" />

    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data
        android:host="onelink-basic-app.onelink.me"
        android:scheme="https" />
</intent-filter>

앱 링크에 대한 자세한 내용은 여기에서 가이드를 확인하세요.

URI Scheme

앱의 매니페스트에서 다음 인텐트 필터를 관련 액티비티에 추가하십시오.

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />

    <data
        android:host="mainactivity"
        android:scheme="afshopapp" />
</intent-filter>

For more on URI Scheme check out the guide here.

iOS 딥링크 설정

iOS에서 리타게팅을 기록하고 onAppOpenAttribution/UDL 콜백을 사용하려면 개발자는 AppDelegate.m 파일의 다음 메서드를 통해 사용자 액티비티/URL을 SDK에 전달해야 합니다.

#import <RNAppsFlyer.h>
// Deep linking
// Open URI-scheme for iOS 9 and above
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary *) options {
  [[AppsFlyerAttribution shared] handleOpenUrl:url options:options];
    return YES;
}
// Open URI-scheme for iOS 8 and below
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation {
  [[AppsFlyerAttribution shared] handleOpenUrl:url sourceApplication:sourceApplication annotation:annotation];
  return YES;
}
// Open Universal Links
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler {
    [[AppsFlyerAttribution shared] continueUserActivity:userActivity restorationHandler:restorationHandler];
    return YES;
}

Universal Links

iOS 모바일 앱과 앱스플라이어의 원링크 도메인(xxx.onelink.me)과 같은 관련 웹 사이트/도메인 간의 Universal Links 링크. 이렇게 하려면 다음이 필요합니다.

  1. 원링크 하위 도메인 및 모바일 앱 링크 설정(‘apple-app-site-association’ 파일을 호스트하여 이를 수행 - 앱스플라이어는 대시보드의 원링크 설정에서 이 부분을 처리합니다)
  2. 승인 도메인을 등록할 모바일 앱 구성하기:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>com.apple.developer.associated-domains</key>
        <array>
            <string>applinks:test.onelink.me</string>
        </array>
    </dict>
</plist>

유니버설 링크에 대한 자세한 내용은 여기에서 가이드를 확인하세요.

URI Scheme

A URI scheme is a URL that leads users directly to the mobile app.
When an app user enters a URI scheme in a browser address bar box, or clicks on a link based on a URI scheme, the app launches and the user is deep-linked.

이를 구성하려면 다음을 수행해야 합니다.

  1. 다음에 있는 URL 유형 항목에 고유 URL 식별자 추가: 앱의 info.plist
  2. URL 스킴을 값으로 추가.

다음 메서드에서 URL 스킴 설정 예시: info.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  ...
	<key>CFBundleURLTypes</key>
	<array>
		<dict>
			<key>CFBundleURLName</key>
			<string>YOUR.URL.IDENTIFIER</string>
			<key>CFBundleURLSchemes</key>
			<array>
				<string>YOUR-URL-SCHEME</string>
			</array>
		</dict>
	</array>
	...
</dict>
</plist>

For more on URI Scheme check out the guide here.