Flutter SDK (v4)

Pub Version

알립니다

플러터 SDK v4 설치 및 설정에 대한 가이드 입니다. 이전 버전은 플러터 SDK (Previous) 가이드에서 확인해 주세요.

에어브릿지 플러터 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를 설치해 주세요.

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

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

해당 프로젝트의 최상위 파일의 위치에서 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. 설정이 필요하지 않은 값은 키값을 생략해 주세요.
    설정값에 대한 가이드는 아래를 참고해 주세요.

ATT 프롬프트 제공하기

알립니다

개인정보보호 정책 준수를 위해 필요한 기능은 법률 자문사와 함께 검토해야 합니다.

iOS 환경에서는 앱 추적 투명성(AppTrackingTransparency, ATT) 프롬프트에서 정보 수집에 동의한 유저의 IDFA만 식별자로 수집할 수 있습니다.

유저가 ATT 프롬프트에서 정보 수집에 동의하는 시점까지 앱 설치 이벤트를 수집하는 것을 지연해야 합니다. IDFA는 앱 설치 이벤트와 함께 수집됩니다. 유저가 정보 수집에 동의하기 전에 앱 설치 이벤트를 수집하면 IDFA가 수집되지 않기 때문에 성과를 측정할 수 없습니다. 유저가 ATT 프롬프트에 동의하면 IDFA를 수집하도록 앱 설치 이벤트를 수집하는 시간을 설정하는 것을 권장합니다.

1. ATT 프롬프트에 사용하는 문구를 준비합니다.

2. 애플 가이드에 따라 ATT 프롬프트를 설정해 주세요.

3. 에어브릿지 플러터 SDK는 앱 설치 이벤트가 수집되지 않으면 앱이 실행되는 시점마다 유저가 정보 수집에 동의하기 전까지 30초 동안 앱 설치 이벤트의 수집을 지연합니다. 유저가 정보 수집의 동의 여부를 결정하기 전에 앱을 종료하면 앱 설치 이벤트를 수집하지 않고 다음에 앱이 실행되는 시점에 다시 시도합니다.

SDK 설정하기autoDetermineTrackingAuthorizationTimeoutInSecond 로 설치 이벤트 수집 지연 시간을 더 길게 설정할 수 있습니다. autoDetermineTrackingAuthorizationTimeoutInSecond 의 기본 설정은 300초입니다. 최대 3600초(1시간)까지 설정할 수 있습니다.

주의하세요

앱 설치 이벤트의 수집을 지연하는 시간을 충분히 설정해야 합니다. 유저가 ATT 프롬프트에서 정보 수집에 동의하기 전에 앱 설치 이벤트를 수집하면 IDFA가 함께 수집되지 않습니다.

옵트인(Opt-In) 설정하기

알립니다

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

옵트인(Opt-In)은 유저가 동의하기 전에 유저 정보를 사용하지 않는 정책입니다.

SDK 설정하기autoStartTrackingEnabled를 false로 설정한 후에 이벤트를 수집할 수 있는 시점에 startTracking 함수를 호출합니다. startTracking 함수가 호출된 시점부터 이벤트를 수집합니다.

123
import 'package:airbridge_flutter_sdk/airbridge_flutter_sdk.dart';
...
Airbridge.startTracking();

옵트아웃(Opt-Out) 설정하기

알립니다

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

옵트아웃(Opt-Out)은 유저가 거부하기 전에 유저 정보를 사용하는 정책입니다.

SDK 설정하기autoStartTrackingEnabled를 true로 설정한 후에 이벤트를 수집할 수 있는 시점에 stopTracking 함수를 호출합니다. stopTracking 함수가 호출된 시점부터 이벤트를 수집합니다.

123
import 'package:airbridge_flutter_sdk/airbridge_flutter_sdk.dart';
...
Airbridge.stopTracking();

SDK 시그니처 설정하기

알립니다

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

SDK 시그니처(SDK Signature)로 SDK 스푸핑(SDK Spoofing)을 방지해 정확성과 안전성이 검증된 이벤트만 광고 성과 측정에 사용할 수 있습니다.

SDK 시그니처 설정에 SDK 시그니처 보안 정보가 필요합니다. SDK 시그니처 보안 정보에는 시크릿 ID와 시크릿이 있습니다. 필요한 SDK 시그니처 보안 정보는 에어브릿지 대시보드에서 확인할 수 있습니다. SDK 시그니처 보안 정보에 대한 자세한 내용은 에어브릿지 가이드를 참고해 주세요.

  1. SDK 설정하기sdkSignatureID 를 입력해주세요.

  2. SDK 설정하기sdkSignatureSecret 을 입력해주세요.

SDK 시그니처 설정에 필요한 SDK 시그니처 보안 정보는 아래와 같습니다.

  • sdkSignatureID : 시크릿 ID. 에어브릿지 대시보드 [규칙 관리]>[광고사기 검증 규칙]>[SDK 시그니처]>[SDK 시그니처 보안 정보]에서 확인할 수 있습니다.

  • sdkSignatureSecret : 시크릿. 에어브릿지 대시보드 [규칙 관리]>[광고사기 검증 규칙]>[SDK 시그니처]>[SDK 시그니처 보안 정보]에서 확인할 수 있습니다.

딥링크

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

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

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

예시)

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

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

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

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

딥링크 설정하기

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

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

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

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

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

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

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

디퍼드 딥링크 설정하기

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

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

인앱 이벤트

에어브릿지 SDK가 서비스에서 발생한 유저의 특정 행동을 설정에 따라 수집한 후에 인앱 이벤트로 전송합니다.

인앱 이벤트 전송하기

하이브리드 앱 설정하기

하이브리드 앱에서 웹 사이트 코드를 변경하지 않아도 인앱 웹 사이트에서 발생하는 에어브릿지 관련 작업을 플러터 SDK가 처리하도록 설정할 수 있습니다.

이벤트를 전송하기 위해서는 Airbridge.trackEvent 함수를 호출해야 합니다. Airbridge.trackEvent 함수 구성 요소의 필수 여부와 타입은 아래와 같습니다.

12345
static void trackEvent({
    required String category,
    Map<String, dynamic>? semanticAttributes,
    Map<String, dynamic>? customAttributes
})

이름

필수 여부

타입

설명

category

필수

String

이벤트의 이름

semanticAttributes

선택

Map<String, dynamic>

이벤트의 시맨틱 어트리뷰트

customAttributes

선택

Map<String, dynamic>

이벤트의 커스텀 어트리뷰트

각 구성요소의 정의와 사용할 수 있는 문자열을 아래에서 확인해 주세요.

SDK가 제공하는 스탠다드 이벤트 카테고리와 시맨틱 어트리뷰트는 아래와 같습니다.

아래 데이터 유형별 예시 코드를 참고해 주세요.

1234567891011121314151617181920212223242526272829
import 'package:airbridge_flutter_sdk/airbridge_flutter_sdk.dart';

Airbridge.trackEvent(
    category: AirbridgeCategory.ORDER_COMPLETED,
    semanticAttributes: {
        // action
        AirbridgeAttribute.ACTION: 'Tool',
        // label
        AirbridgeAttribute.LABEL: 'Hammer',
        // value
        AirbridgeAttribute.VALUE: 10,
        // semantic attribute (provided by sdk)
        AirbridgeAttribute.CURRENCY: 'USD',
        AirbridgeAttribute.PRODUCTS: [
            {
                // semantic attribute value (provided by sdk)
                AirbridgeAttribute.PRODUCT_ID: '12345',
                // semantic attribute value (not provided by sdk)
                'name': 'PlasticHammer',
            },
        ],
        // semantic attribute (not provided by sdk)
        'totalQuantity': 1,
    },
    customAttributes: {
        // custom attribute
        'promotion': 'FirstPurchasePromotion',
    },
);

인앱 이벤트 추가 설정하기

알립니다

설정하지 않아도 기본 설정이 적용되어 있습니다. 추가 설정 필요한지 검토한 후에 진행해 주세요.

전송하는 인앱 이벤트에 필요한 설정을 추가할 수 있습니다.

인앱 이벤트 예시 코드

에어브릿지가 수집하는 주요 인앱 이벤트는 스탠다드 이벤트와 커스텀 이벤트입니다. 스탠다드 이벤트는 에어브릿지가 정의한 이벤트입니다. 아래 예시 코드를 참고해 주세요.

커스텀 이벤트는 앱 서비스에 맞는 광고 성과를 추적하기 위해 스탠다드 이벤트에 해당하지 않는 유저의 행동을 새로 정의한 이벤트입니다. 아래 예시 코드를 참고해 주세요.

123456789101112131415
import 'package:airbridge_flutter_sdk/airbridge_flutter_sdk.dart';
...
Airbridge.trackEvent(
    category: 'event',
    semanticAttributes: {
        AirbridgeAttribute.VALUE: 10,
    },
    customAttributes: {
        'string': 'string',
        'number': 1000,
        'boolean': true,
        'object': {'key': 'value'},
        'array': ['value'],
    },
);

유저 정보

유저 정보를 이벤트에 포함해 전송합니다. 해당 유저 정보를 바탕으로 웹과 앱에서 발생한 광고 성과를 더 정확하게 분석할 수 있습니다.

유저 ID 설정하기

유저 ID는 서비스에서 활용하는 유저 식별자입니다. 유저 ID는 유저를 웹과 앱에서 하나의 유저로 특정할 수 있는 고유한 ID이어야 합니다.

#{"width":"140px"}

함수

#{"width":"240px"}

설명

Airbridge.setUserID

유저 ID를 입력합니다.

Airbridge.clearUserID

유저 ID를 삭제합니다.

Airbridge.setUserAlias

유저 식별자를 추가로 입력합니다. 최대 10개 입력할 수 있습니다.

- key: 최대 128자입니다. ^[a-zA-Z_][a-zA-Z0-9_]*$ 정규식을 만족해야 합니다.

- value: 최대 1024자입니다.

Airbridge.removeUserAlias

추가로 입력한 유저 식별자 중에서 지정한 식별자를 삭제합니다.

Airbridge.clearUserAlias

추가로 입력한 모든 유저 식별자를 삭제합니다.

아래 예시를 참고해 주세요.

123456789
import 'package:airbridge_flutter_sdk/airbridge_flutter_sdk.dart';
...
// identifier
Airbridge.setUserID('string');
Airbridge.clearUserID();
// addtional identifier
Airbridge.setUserAlias(key: 'string', value: 'string');
Airbridge.removeUserAlias('string');
Airbridge.clearUserAlias();

유저 속성 설정하기

주의하세요

민감한 유저 정보가 포함될 수 있습니다. 법률 자문사와 충분히 검토한 후에 전송해 주세요.

유저 속성을 설정하면 추가 유저 정보를 전송할 수 있습니다.

#{"width":"140px"}

함수

#{"width":"240px"}

설명

Airbridge.setUserEmail

유저 이메일을 입력합니다. SHA256으로 해시(Hash)화되어 있습니다.

Airbridge.clearUserEmail

유저 이메일을 삭제합니다.

Airbridge.setUserPhone

유저 전화 번호를 입력합니다. SHA256으로 해시화되어 있습니다.

Airbridge.clearUserPhone

유저 전화 번호를 삭제합니다.

Airbridge.setUserAttribute

유저 속성을 추가로 입력합니다. 최대 100개 입력할 수 있습니다.

- key: 최대 128자입니다. ^[a-zA-Z_][a-zA-Z0-9_]*$ 정규식을 만족해야 합니다.

- value: String, Number, Boolean 타입만 지원합니다. 최대 1024자입니다.

Airbridge.removeUserAttribute

추가로 입력한 유저 속성 중에서 지정한 속성을 삭제합니다.

Airbridge.clearUserAttributes

추가로 입력한 모든 유저 속성을 삭제합니다.

아래 예시를 참고해 주세요.

123456789101112
import 'package:airbridge_flutter_sdk/airbridge_flutter_sdk.dart';
...
// email, phone
Airbridge.setUserEmail('string');
Airbridge.clearUserEmail();
Airbridge.setUserPhone('string');
Airbridge.clearUserPhone();
// addtional attribute
Airbridge.setUserAttribute(key: 'string', value: 'string');
Airbridge.setUserAttribute(key: 'number', value: 1000);
Airbridge.removeUserAttribute('string');
Airbridge.clearUserAttributes();

유저 속성 해쉬화하기

SDK 설정하기hashUserInformationEnabled 를 false로 설정하면 유저 이메일과 전화번호를 해시화하지 않고 전송합니다. 기본 설정은 true입니다.

유저 정보 초기화하기

Airbridge.clearUser 함수로 유저 정보를 초기화할 수 있습니다.

123
import 'package:airbridge_flutter_sdk/airbridge_flutter_sdk.dart';
...
Airbridge.clearUser();

추가 설정하기

플러터 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 콜백을 통해 에어브릿지 딥링크만 전달됩니다. 여러 솔루션의 딥링크나 직접 개발한 딥링크를을 사용하는 경우 딥링크를 따로 처리할 수 있습니다.

인앱에서 트래킹 링크 활용하기

링크를 여는 방식에 따라 인앱에서 해당 앱의 트래킹 링크를 정상적으로 활용하기 어려울 수 있습니다.

Airbridge.click 함수 또는 Airbridge.impression 함수를 이용하면 외부 브라우저를 거치지 않고 트래킹 링크를 정상적으로 활용할 수 있습니다.

주의하세요

에어브릿지 SDK에서 인앱에서 트래킹 링크 활용하기를 설정하면 앱에서 트래킹 링크를 사용할 때마다 딥링크 페이지뷰(Deeplink Pageview)가 타겟 이벤트로 집계됩니다. 딥링크 실행(Deeplink Open) 직후에 딥링크 페이지뷰가 빈번하게 발생하면 딥링크 실행 성과에 영향을 줄 수 있습니다.

딥링크 페이지뷰의 어트리뷰션 윈도우 기본 설정은 3일입니다. 딥링크 페이지뷰의 어트리뷰션 윈도우 변경을 원하는 고객사는 에어브릿지 CSM에게 문의해 주세요.

어트리뷰션 결과 활용하기

주의하세요

에어브릿지 SDK가 어트리뷰션 결과를 수집하는데 시간이 필요합니다. 실시간 처리가 필요한 기능에 어트리뷰션 결과를 활용하는 것을 권장하지 않습니다.

Airbridge.setOnAttributionReceived 함수로 설치 이벤트에 대한 어트리뷰션 결과를 받을 수 있습니다.

123
Airbridge.setAttributionListener((result) { 
    // do something
});

어트리뷰션 결과 존재 여부에 따라 아래와 같이 값이 전달됩니다.

푸시 알림으로 딥링크 이벤트 수집하기

푸시 알림을 클릭한 이후 페이로드에 있는 딥링크 정보를 에어브릿지 SDK에 전달해야 딥링크 이벤트를 수집할 수 있습니다. Airbridge.trackDeeplink 함수를 설정해 주세요.

iOS

ios/YOUR_PROJECT_NAME/AppDelegate.m 파일에 아래와 같이 코드를 추가해주세요.

12345678910111213141516171819202122232425262728
import Airbridge

func application(
    _ application: UIApplication,
    didReceiveRemoteNotification userInfo: [AnyHashable : Any],
    fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void
) {
    if UIApplication.shared.applicationState == .inactive {
        let url = // 푸시 알림 페이로드의 딥링크

        Airbridge.trackDeeplink(url)
    }
}

func userNotificationCenter(
    _ center: UNUserNotificationCenter,
    didReceive response: UNNotificationResponse,
    withCompletionHandlercompletionHandler: @escaping () -> Void
) {
    if 
        UIApplication.shared.applicationState == .inactive || UIApplication.shared.applicationState == .background,
        response.actionIdentifier == UNNotificationDefaultActionIdentifier
    {
        let url = // 푸시 알림 페이로드의 딥링크

        Airbridge.trackDeeplink(url)
    }
}

안드로이드

안드로이드에서는 자동으로 수집되기 때문에 별도의 설정을 하지 않아도 됩니다.

에어브릿지 딥링크만 추적하기

에어브릿지 SDK는 딥링크를 생성한 서비스와 관계 없이 딥링크로 앱이 실행되면 딥링크 이벤트를 수집합니다. 딥링크 이벤트가 과도하게 수집되면 SDK 설정하기trackAirbridgeDeeplinkOnlyEnabled함수를 true로 설정해 에어브릿지 딥링크만 수집할 수 있습니다.

세션에서 생명 주기 이벤트 수집하기

에어브릿지 SDK는 새로운 세션을 시작하는 실행(Open), 포그라운드(Foreground) 이벤트는 수집합니다. 세션이 유지되는 중에는 해당 이벤트를 수집하지 않습니다.

SDK 설정하기trackInSessionLifecycleEventEnabled 를 true로 설정하면 세션이 유지되는 중에 실행(Open), 포그라운드(Foreground) 이벤트를 수집할 수 있습니다.

수집된 포그라운드(Foreground) 이벤트는 모두 실행(Open) 이벤트로 기록됩니다.

구글 디지털 시장법(DMA) 준수

디지털 시장법(DMA)를 준수하기 위해서는 유저 응답 정보(User Consent)를 에어브릿지에 전달해야 합니다. DMA와 적용 대상 등에 대한 자세한 내용은 에어브릿지 가이드를 참고해 주세요.

EEA(유럽 경제 지역)이라면 유저의 유럽 경제 지역 여부와 유저 응답 정보를 항상 에어브릿지에 전달해야 합니다.

1. 앱을 실행한 유저의 지역을 확인합니다. 유저가 앱을 실행한 지역이 EEA(eea=1)라면 기존에 수집한 유저 응답 정보가 있는지 확인합니다. 수집한 유저 응답 정보가 있다면 3번을 진행합니다.

유저가 앱을 실행한 지역이 EEA가 아니라면 유저 응답 정보를 수집하지 않아도 됩니다.

알립니다

에어브릿지는 유저 응답 정보 저장과 프롬프트 구현 방식 등에 관해 도움을 드릴 수 없습니다. 법률 자문사와 함께 검토해 주세요.

2. 수집한 유저 응답 정보가 없다면 프롬프트 등으로 유저 응답 정보를 수집합니다. 해당 단계에서 수집해야 하는 정보는 adPersonalization, adUserData입니다.

3. SDK 설정하기autoStartTrackingEnabled 를 false로 설정해 주세요.

4. 에어브릿지 SDK를 초기화한 후, 유저 정보를 수집하기 전에 유저 응답 정보를 에어브릿지에 전달합니다.

주의하세요

아래를 주의해 주세요.

  • eea, adPersonalization, adUserData 이름을 동일하게 사용해야 합니다.

  • 수집한 정보에 맞게 0 또는 1을 입력해 주세요.

12345678910
import 'package:airbridge_flutter_sdk/airbridge_flutter_sdk.dart';
...
// deliver informations to sdk using device alias
// based on actual region
Airbridge.setDeviceAlias(key: 'eea', value: '0' or '1');
// based on actual user consent
Airbridge.setDeviceAlias(key: 'adPersonalization', value: '0' or '1');
Airbridge.setDeviceAlias(key: 'adUserData', value: '0' or '1');
// start tracking explicitly
Airbridge.startTracking();

메타 디퍼드 앱 링크 설정하기

아래 방법으로 메타 애즈에서 디퍼드 딥링크를 제공할 수 있습니다. 에어브릿지 SDK는 메타 디퍼드 앱 링크를 먼저 수집합니다. 메타 디퍼드 앱 링크가 없으면 에어브릿지 디퍼드 딥링크를 수집합니다.

메타 애즈의 SKAdNetwork 캠페인은 메타 디퍼드 앱 링크를 지원하지 않습니다.

1. 페이스북 SDK를 설치합니다. 메타 애즈 가이드 (iOS), 메타 애즈 가이드 (Android)를 참고해 주세요.

2. SDK 설정하기trackMetaDeferredAppLinkEnabled 를 true로 설정합니다.

비활성화 상태로 에어브릿지 SDK 초기화하기

주의하세요

에어브릿지 SDK 초기화 이후 바로 활성화하지 않으면 설치, 오픈, 딥링크 이벤트가 수집되지 않을 수 있습니다.

에어브릿지 SDK를 초기화하면 모든 기능을 활성화합니다. SDK 설정하기sdkEnabled 를 false로 설정하면 모든 기능을 비활성화한 상태로 에어브릿지 SDK를 초기화할 수 있습니다.

또는 아래 방식으로 에어브릿지 SDK의 활성화 여부를 확인하고 모든 기능을 활성화하거나 비활성화할 수 있습니다.

12345
import 'package:airbridge_flutter_sdk/airbridge_flutter_sdk.dart';
...
Airbridge.isSDKEnabled();
Airbridge.enableSDK();
Airbridge.disableSDK();

메타 인스톨 리퍼러 수집 설정

메타 인스톨 리퍼러(Meta Install Referrer) 수집에 필요한 설정입니다. SDK 초기화 단계에서 SDK 설정하기metaInstallReferrerAppID 에 메타 app ID 를 전달합니다.

설정한 이후에 암호 해독 키를 에어브릿지 대시보드에 입력해야 복호화된 메타 인스톨 리퍼러를 확인할 수 있습니다. 암호 해독 키를 입력하는 방법은 에어브릿지 가이드를 참고해 주세요.

앱 삭제 트래킹 설정하기

에어브릿지는 앱 이벤트를 최근 6개월 동안 1번이라도 트래킹한 유저를 대상으로 사일런트 푸시를 매일 KST(한국표준시) 0시~1시 사이에 보내서 앱 삭제 여부를 확인합니다. 앱 삭제 이벤트는 에어브릿지 리포트와 원본 데이터 추출 등으로 확인할 수 있습니다.

자세한 설정 방법과 설명은 에어브릿지 가이드를 참고해 주세요.

서드파티 연동하기

일부 서드파티 솔루션을 연동하기 위해서는 SDK 설정이 필요합니다. 에어브릿지 SDK로 데이터를 수집하기 전에 서드파티 솔루션에 필요한 설정을 마치는 것을 권장합니다.

각 서드파티 솔루션 연동에 필요한 설정은 아래 가이드를 참고해 주세요.

SDK 로그 확인하기

에어브릿지 SDK가 제공하는 로그는 Debug, Info, Warning, Error, Fault 레벨로 구성됩니다. Debug 레벨이 가장 덜 치명적인 로그이고, Fault 레벨이 가장 치명적인 로그입니다.

에어브릿지 SDK는 Warning, Error, Fault 레벨 이상의 로그를 기본적으로 제공합니다. SDK 설정하기logLevel 에 로그 레벨을 입력하면 해당 로그 레벨부터 Fault 레벨까지 로그를 확인할 수 있습니다.

도움이 되었나요?

더 필요한 내용이 있나요?