> ## Documentation Index
> Fetch the complete documentation index at: https://help.airbridge.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 앰플리튜드 (V2)

앰플리튜드(Amplitude) 연동 V2 방식은 앰플리튜드에서 제공하는 HTTP V2 API를 통해 이뤄집니다.

연동이 정상적으로 완료되면 에어브릿지는 연동 이후에 발생하는 [타겟 이벤트](/ko/guides/airbridge-attribution-model#타겟-이벤트와-후속-이벤트)를 포함한 다른 이벤트와 이벤트의 프로퍼티 같은 광고 성과 데이터를 앰플리튜드로 전송합니다. 앰플리튜드는 에어브릿지에서 전송하는 프로퍼티를 이벤트 프로퍼티(Event Properties)와 유저 프로퍼티(User Properties)에 추가합니다.

## V2 방식으로 연동하기

앰플리튜드 SDK의 디바이스 ID를 에어브릿지 SDK의 디바이스 알리아스(Device Alias)로 지정하는 방식으로 에어브릿지 SDK로 수집되는 데이터를 앰플리튜드 서버로 전송합니다.

### 지원하는 SDK

아래 버전 이상의 SDK에서 앰플리튜드 V2 연동을 지원합니다.

* Airbridge Android SDK: 2.19.5
* Airbridge iOS SDK: 1.18.0
* Airbridge Web SDK Loader: 1.3.0
* Airbridge React Native SDK: 1.5.0
* Airbridge Cordova SDK: 2.0.2
* Airbridge Flutter SDK: 3.0.2
* Airbridge Unity SDK: 1.9.0

### 사전 준비사항

<Danger>
  **주의하세요**

  연동을 마치기 위해서는 에어브릿지 대시보드 설정이 필요합니다. SDK 설정 이후에 반드시 필요한 모든 설정을 진행해 주세요.
</Danger>

에어브릿지 SDK에 아래 코드를 삽입합니다. 에어브릿지 SDK 작업을 하지 않으면 에어브릿지 대시보드에서 연동 설정을 하더라도 에어브릿지와 앰플리튜드가 정상적으로 연동되지 않습니다.

<AccordionGroup>
  <Accordion title="SDK 연동하기 (Android)">
    #### Android SDK

    <CodeGroup>
      ```kotlin Kotlin lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
      // MainApplication.kt
      override fun onCreate() {
          super.onCreate()
          // Initialize Airbridge SDK
          val option = AirbridgeOptionBuilder("YOUR_APP_NAME", "YOUR_APP_SDK_TOKEN")
              .setAutoStartTrackingEnabled(false)
              .build()
          Airbridge.initializeSDK(this, option)

          // Set device alias into Airbridge SDK
          Airbridge.setDeviceAlias("amplitude_device_id", Amplitude.getInstance().getDeviceId())
          
          // Explicitly start tracking
          Airbridge.startTracking()
      }
      ```

      ```java Java lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
      // MainApplication.java
      @Override
      public void onCreate() {
          super.onCreate();
          // Initialize Airbridge SDK
          AirbridgeOption option = new AirbridgeOptionBuilder("APP_NAME", "APP_TOKEN")
              .setAutoStartTrackingEnabled(false)
              .build();
          Airbridge.initializeSDK(application, option);
          
          // Set device alias into Airbridge SDK
          Airbridge.setDeviceAlias("amplitude_device_id", Amplitude.getInstance().getDeviceId());
          
          // Explicitly start tracking
          Airbridge.startTracking();
      }
      ```
    </CodeGroup>

    #### Android SDK (Deprecated)

    <CodeGroup>
      ```kotlin Kotlin lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
      // MainApplication.kt
      override fun onCreate() {
          super.onCreate()
          // Initialize Airbridge SDK
          val config = AirbridgeConfig.Builder("YOUR_APP_NAME", "YOUR_APP_SDK_TOKEN")
              .setAutoStartTrackingEnabled(false)
              .build()
          Airbridge.init(this, config)

          // Set device alias into Airbridge SDK
          Airbridge.setDeviceAlias("amplitude_device_id", Amplitude.getInstance().getDeviceId())
          
          // Explicitly start tracking
          Airbridge.startTracking()
      }
      ```

      ```java Java lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
      // MainApplication.java
      @Override
      public void onCreate() {
          super.onCreate();
          // Initialize Airbridge SDK
          AirbridgeConfig config = new AirbridgeConfig.Builder("APP_NAME", "APP_TOKEN")
              .setAutoStartTrackingEnabled(false)
              .build();
          Airbridge.init(this, config);
          
          // Set device alias into Airbridge SDK
          Airbridge.setDeviceAlias("amplitude_device_id", Amplitude.getInstance().getDeviceId());

          // Explicitly start tracking
          Airbridge.startTracking();
      }
      ```
    </CodeGroup>
  </Accordion>

  <Accordion title="SDK 연동하기 (iOS)">
    #### iOS SDK

    <CodeGroup>
      ```swift Swift lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
      // AppDelegate.swift
      func application(
          _ application: UIApplication,
          didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
      ) -> Bool {

          let option = AirbridgeOptionBuilder(name: "YOUR_APP_NAME", token: "YOUR_APP_SDK_TOKEN")
              .setAutoStartTrackingEnabled(false)
              .build()
          Airbridge.initializeSDK(option: option)

          Airbridge.setDeviceAlias(key: "amplitude_device_id", value: Amplitude.instance().deviceId())
          
          // Explicitly start tracking
          Airbridge.startTracking()

          return true
      }
      ```

      ```objective-c Objective-C lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
      // AppDelegate.m
      - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
      {
          AirbridgeOptionBuilder* optionBuilder = 
              [[AirbridgeOptionBuilder alloc] initWithName:@"YOUR_APP_NAME"
                                                     token:@"YOUR_APP_SDK_TOKEN"];

          [optionBuilder setAutoStartTrackingEnabled:NO];
          AirbridgeOption* option = [optionBuilder build];
          [Airbridge initializeSDKWithOption:option];

          [Airbridge setDeviceAliasWithKey:@"amplitude_device_id" 
                                     value:Amplitude.instance.deviceId];
          
          // Explicitly start tracking
          [Airbridge startTracking];

          return YES;
      }
      ```
    </CodeGroup>

    #### iOS SDK (Deprecated)

    <CodeGroup>
      ```swift Swift lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
      // AppDelegate.swift
      func application(
          _ application: UIApplication,
          didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
      ) -> Bool {
        
          AirBridge.setAutoStartTrackingEnabled(false)
          AirBridge.getInstance("YOUR_APP_TOKEN", appName:"YOUR_APP_NAME", withLaunchOptions:launchOptions)

          AirBridge.state()?.setDeviceAlias(withKey:"amplitude_device_id", value:Amplitude.instance().deviceId())
          
          // Explicitly start tracking
          AirBridge.startTracking()

          return true
      }
      ```

      ```objective-c Objective-C lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
      // AppDelegate.m
      - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
      {
          AirBridge.autoStartTrackingEnabled = NO;
          [AirBridge getInstance:@"YOUR_APP_SDK_TOKEN"
                         appName:@"YOUR_APP_NAME"
               withLaunchOptions:launchOptions];

          [AirBridge.state setDeviceAliasWithKey: @"amplitude_device_id"
                                           value: Amplitude.instance.deviceId];

          // Explicitly start tracking
          [AirBridge startTracking];

          return YES;
      }
      ```
    </CodeGroup>
  </Accordion>

  <Accordion title="SDK 연동하기 (Web)">
    ```typescript lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
    airbridge.init({
      ...
      autoStartTrackingEnabled: false,
    })
    airbridge.setDeviceAlias('amplitude_device_id', Amplitude.getInstance().getDeviceId())
    airbridge.startTracking()
    ```
  </Accordion>

  <Accordion title="SDK 연동하기 (React Native)">
    #### React Native SDK

    [`airbridge.json`](/ko/developers/react-native-sdk-v4#sdk-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0)의 `autoStartTrackingEnabled` 옵션을 `false`로 설정해야 합니다.

    ```typescript lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
    await Amplitude.init(...);

    const appInstanceId = await Amplitude.getDeviceId();
    Airbridge.setDeviceAlias("amplitude_device_id", appInstanceId);
    Airbridge.startTracking();
    ```

    #### React Native SDK (Deprecated)

    [`airbridge.json`](/ko/developers/deprecated-react-native-sdk-v2#airbridge-json)의 `autoStartTrackingEnabled` 옵션을 `false`로 설정해야 합니다.

    ```typescript lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
    await Amplitude.init(...)

    Airbridge.state.setDeviceAlias("amplitude_device_id", await Amplitude.getDeviceId())
    Airbridge.state.startTracking()
    ```
  </Accordion>

  <Accordion title="SDK 연동하기 (Cordova)">
    [`airbridge.json`](/ko/developers/deprecated-cordova-ionic-sdk-v2#airbridge-json)의 `autoStartTrackingEnabled` 옵션을 `false`로 설정해야 합니다.

    ```typescript lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
    Airbridge.state.setDeviceAlias("amplitude_device_id", amplitude.getDeviceId())
    Airbridge.state.startTracking()
    ```
  </Accordion>

  <Accordion title="SDK 연동하기 (Flutter)">
    #### Flutter SDK

    [`airbridge.json`](/ko/developers/flutter-sdk-v4#sdk-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0)의 `autoStartTrackingEnabled` 옵션을 `false`로 설정해야 합니다.

    ```typescript lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
    final appInstanceId = Amplitude.getInstance().getDeviceId();
    Airbridge.setDeviceAlias("amplitude_device_id", appInstanceId);
    Airbridge.startTracking();
    ```

    #### Flutter SDK (Deprecated)

    [`airbridge.json`](/ko/developers/deprecated-flutter-sdk-v3#airbridge-json)의 `autoStartTrackingEnabled` 옵션을 `false`로 설정해야 합니다.

    ```typescript lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
    Airbridge.state.setDeviceAlias("amplitude_device_id", Amplitude.getInstance().getDeviceId())
    Airbridge.state.startTracking()
    ```
  </Accordion>

  <Accordion title="SDK 연동하기 (Unity)">
    #### Unity SDK

    [프로젝트 설정](/ko/developers/unity-sdk-v4#sdk-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0)의 Auto Start Tracking Enabled 옵션을 false로 설정해야 합니다.

    ```c# lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
    string DeviceID = Amplitude.getInstance().getDeviceId();
    Airbridge.SetDeviceAlias("amplitude_device_id", DeviceID);
    Airbridge.StartTracking();
    ```

    #### Unity SDK (Deprecated)

    [프로젝트 설정](/ko/developers/deprecated-unity-sdk-v1#프로젝트-설정)의 Auto Start Tracking Enabled 옵션을 false로 설정해야 합니다.

    ```c# lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
    string DeviceID = Amplitude.getInstance().getDeviceId();
    AirbridgeUnity.SetDeviceAlias("amplitude_device_id", DeviceID);
    AirbridgeUnity.StartTracking();
    ```
  </Accordion>
</AccordionGroup>

### 에어브릿지에서 앰플리튜드 연동하기

SDK 작업을 마친 후에 에어브릿지 대시보드에서 필요한 작업을 마쳐야 모든 연동 과정이 마무리됩니다. 자세한 내용은 에어브릿지 가이드를 참고해 주세요.

* [앰플리튜드 연동하기 (유저 가이드)](/ko/guides/amplitude#v2-방식으로-연동하기)

<link rel="alternate" hrefLang="en" href="https://help.airbridge.io/en/developers/amplitude-v2" />

<link rel="alternate" hrefLang="ko" href="https://help.airbridge.io/ko/developers/amplitude-v2" />
