딥링크 플랜 - Flutter SDK (v4)

에어브릿지 플러터 SDK를 설치하고 필요한 설정을 추가할 수 있습니다.

플러터 SDK 설치하기

에어브릿지 플러터 SDK는 아래 방법으로 설치할 수 있습니다. 설치한 이후에 플러터 SDK 테스트로 SDK가 정상적으로 설치됐는지 확인할 수 있습니다.

pubspec.yaml 파일의 dependencies 블럭 안에 다음과 같은 라인을 추가해 주세요.

123
dependencies:
  # Get the latest version from https://pub.dev/packages/airbridge_flutter_sdk/versions
  airbridge_flutter_sdk: HERE_LATEST_VERSION

해당 프로젝트의 최상위 파일의 위치에서 Terminal을 열어 다음 명령어를 실행해 주세요.

Airbridge Flutter SDK 는 Flutter 1.20.0 이상, Dart 2.12.0 이상 에서만 작동합니다.

Shell
1
flutter pub get

디바이스 ID를 수집하지 않는 SDK

알립니다

일반 SDK와 제한된 SDK 중에서 1가지 버전만 설치해 주세요.

정책, 환경 등에 따라 GAID, IDFA 같은 디바이스 ID 수집에 제한이 필요할 수 있습니다. 제한된 SDK(Restricted SDK)를 설치하면 에어브릿지 SDK가 GAID, IDFA 같은 디바이스 ID를 수집하지 않습니다.

아래 방법에 따라 제한된 SDK를 설치해 주세요.

pubspec.yaml 파일의 dependencies 블럭 안에 다음과 같은 라인을 추가해 주세요.

123
dependencies:
  # Get the latest version from https://pub.dev/packages/airbridge_flutter_sdk_restricted/versions
  airbridge_flutter_sdk_restricted: HERE_LATEST_VERSION

해당 프로젝트의 최상위 파일의 위치에서 Terminal을 열어 다음 명령어를 실행해 주세요.

Shell
1
flutter pub get

SDK 초기화하기

iOS SDK와 Android SDK는 초기화 방법이 다릅니다. 아래 가이드를 참고해 주세요.

YOUR_APP_NAME과 YOUR_APP_SDK_TOKEN은 에어브릿지 대시보드의 [설정]>[토큰 관리]에서 확인할 수 있습니다.

iOS

해당 프로젝트 ios 모듈의 AppDelegate 클래스 파일에 다음과 같은 코드를 추가해 주세요.

12345678
import airbridge_flutter_sdk

override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
    AirbridgeFlutter.initializeSDK(appName: "YOUR_APP_NAME", appToken: "YOUR_APP_SDK_TOKEN")
}

안드로이드

해당 프로젝트 android 모듈에 Application class 가 정의 되어 있지 않다면 Application class 를 생성 합니다.

android/app/src/main/java/.../MainApplication.kt 파일에 아래와 같이 코드를 추가해주세요.

123456789
import co.ab180.airbridge.flutter.AirbridgeFlutter
import io.flutter.app.FlutterApplication

class MainApplication: FlutterApplication() {
    override fun onCreate() {
        super.onCreate()
        AirbridgeFlutter.initializeSDK(this, "YOUR_APP_NAME", "YOUR_APP_SDK_TOKEN")
    }
}

해당 프로젝트 android 모듈의 AndroidManifest.xml에 앞서 생성한 Application 클래스를 다음과 같이 등록해 주세요.

12345
<application
    android:name=".MainApplication"
    ...>
    ...
</application>

SDK 설정하기

에어브릿지 플러터 SDK 를 사용하기 위한 설정 값을 입력해주세요.

12345678910111213141516171819
{
    "sdkEnabled": boolean,
    "logLevel": "debug" | "info" | "warning" | "error" | "fault",
    "autoStartTrackingEnabled": boolean,
    "autoDetermineTrackingAuthorizationTimeoutInSecond": number,
    "trackMetaDeferredAppLinkEnabled": boolean,
    "sessionTimeoutInSecond": number,
    "metaInstallReferrerAppID": string,
    "trackAirbridgeDeeplinkOnlyEnabled": boolean,
    "trackInSessionLifecycleEventEnabled": boolean,
    "hashUserInformationEnabled": boolean,
    "sdkSignatureID": string,
    "sdkSignatureSecret": string,
    "clearEventBufferOnInitializeEnabled": boolean,
    "eventBufferCountLimit": number,
    "eventBufferSizeLimitInGibibyte": number,
    "eventTransmitIntervalInSecond": number,
    "isHandleAirbridgeDeeplinkOnly" : boolean
}

1. 플러터 프로젝트 폴더 최상단에 airbridge.json 파일을 생성하고 위와 같이 JSON을 입력해 주세요.

2. 설정이 필요하지 않은 값은 키값을 생략해 주세요.

설정값에 대한 가이드는 아래를 참고해 주세요.

123
flutter:
  assets:
    - assets/airbridge.json

설정값에 대한 가이드는 아래를 참고해 주세요.

딥링크

딥링크를 설정하면 트래킹 링크가 있는 광고를 클릭한 유저를 원하는 앱의 특정 페이지로 이동시킬 수 있습니다. 또한 트래킹 링크로 수집된 정보를 바탕으로 딥링크를 통해서 발생한 성과를 에어브릿지에서 확인할 수 있습니다.

에어브릿지의 딥링크 작동 방식

에어브릿지는 트래킹 링크를 생성하면서 유저의 이동에 사용하는 스킴 딥링크(Scheme Deeplink)를 환경에 따라 최적의 에어브릿지 딥링크(Airbridge Deeplink)를 자동으로 선택해 활용합니다.

예시)

  • 에어브릿지 딥링크: https://YOUR_APP_NAME.airbridge.io/~~~

  • 스킴 딥링크: YOUR_SCHEME://product/12345

앱이 설치된 상태에서는 유저가 트래킹 링크를 열면 에어브릿지 딥링크로 앱이 열립니다. 에어브릿지 SDK가 해당 에어브릿지 딥링크를 트래킹링크에 설정된 스킴 딥링크로 변환합니다. 변환된 스킴 딥링크는 앱에 전달됩니다.

앱이 설치되어 있지 않은 상태에서는 유저가 트래킹 링크를 열면 에어브릿지 딥링크를 저장합니다. 앱스토어 또는 웹 사이트로 이동한 후에 앱이 설치된 이후 실행되면 에어브릿지 SDK가 저장된 에어브릿지 딥링크를 스킴 딥링크로 변환합니다. 변환된 스킴 딥링크는 앱에 전달됩니다.

딥링크 설정하기

딥링크를 설정합니다. 에어브릿지 대시보드에서 설정한 정보와 유저가 이동하는 목적지로 사용되는 앱 페이지 주소가 필요합니다.

먼저 에어브릿지에 딥링크 정보를 등록합니다.

에어브릿지에 딥링크 정보를 등록한 후에 앱에 딥링크를 설정해야 합니다. 앱에서 딥링크를 위해 필요한 개발은 아래와 같습니다.

  • 에어브릿지 딥링크로 앱이 실행되도록 설정합니다.

  • 앱에서 에어브릿지 딥링크를 수집합니다.

  • 에어브릿지 딥링크로 유저를 이동시킵니다.

아래 내용을 참고해 주세요.

디퍼드 딥링크 설정하기

앱이 설치되지 않은 상태에서 디퍼드 딥링크를 설정한 트래킹 링크를 클릭하면 에어브릿지 딥링크를 저장합니다. 디퍼드 딥링크를 설정하면 에어브릿지 SDK는 아래와 같은 방식으로 딥링크를 획득합니다.

디퍼드 딥링크는 자동으로 OnDeeplinkReceived에 전달되기 때문에 별도의 설정을 하지 않아도 됩니다.

테스트하기

SDK 작동 테스트와 딥링크 테스트로 정상적으로 에어브릿지 SDK와 딥링크가 작동하는지 확인할 수 있습니다.

추가 설정하기

플러터 SDK를 추가로 설정할 수 있습니다.

알립니다

필수 설정 기능이 아닙니다. 필요한 기능인지 확인한 후에 설정해 주세요.

에어브릿지 딥링크만 전달받기

알립니다

에어브릿지 플러터 SDK가 4.1.2 버전 이상이어야 합니다.

에어브릿지 플러터 SDK의 setOnDeeplinkReceived 메소드를 통해 전달된 딥링크는 에어브릿지 딥링크 뿐만 아니라 다른 솔루션의 딥링크 또는 직접 개발한 딥링크도 포함합니다.

12345
import 'package:airbridge_flutter_sdk/airbridge_flutter_sdk.dart';
...
Airbridge.setOnDeeplinkReceived((url) => {
    // show proper content using url
})

SDK 설정하기에서 isHandleAirbridgeDeeplinkOnlytrue 로 설정하면 setOnDeeplinkReceived 콜백을 통해 에어브릿지 딥링크만 전달됩니다. 여러 솔루션의 딥링크나 직접 개발한 딥링크를을 사용하는 경우 딥링크를 따로 처리할 수 있습니다.

도움이 되었나요?

더 필요한 내용이 있나요?