> ## 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.

# Amplitude V2

Airbridge supports integration with Amplitude. With the integration, you can send attribution data from Airbridge to Amplitude and uncover insights into how users interact with your product in Amplitude.

This article outlines the V2 integration method, which uses Amplitude's HTTP V2 API.

Once the integration is complete, the event data, including [Target Events](/en/guides/airbridge-attribution-model#target-events), is sent to Amplitude as Event Properties and User Properties.

## Integration

To implement the server-to-server integration, the Device ID of the Amplitude SDK should be set as the device alias of the Airbridge SDK.

#### Minimum SDK version required

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

### SDK setup

<Danger>
  **Attention**

  Once the SDK setup is complete, make sure to complete the required setup process in the Airbridge dashboard to implement the integration successfully.
</Danger>

Add the codes below to the Airbridge SDK. Without adding the codes, Amplitude won't be properly integrated with Airbridge even if the necessary setup is completed in the Airbridge dashboard.

<AccordionGroup>
  <Accordion title="SDK integration (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 integration (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 integration (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 integration (React Native)">
    #### React Native SDK

    Set `autoStartTrackingEnabled` to `false` in the [airbridge.json](/en/developers/react-native-sdk-v4#configure-sdk-settings).

    ```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)

    Set `autoStartTrackingEnabled` to `false` in the [airbridge.json](/en/developers/deprecated-react-native-sdk-v2#airbridge-json).

    ```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 integration (Cordova)">
    Set `autoStartTrackingEnabled` to `false` in the [airbridge.json](/en/developers/deprecated-cordova-ionic-sdk-v2#airbridge-json).

    ```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 integration (Flutter)">
    #### Flutter SDK

    Set `autoStartTrackingEnabled` to `false` in the [airbridge.json](/en/developers/flutter-sdk-v4#configure-sdk-settings).

    ```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)

    Set `autoStartTrackingEnabled` to `false` in the [airbridge.json](/en/developers/deprecated-flutter-sdk-v3#airbridge-json).

    ```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 integration (Unity)">
    #### Unity SDK

    Set `Auto Start Tracking Enabled` to `false` in the [project settings](/en/developers/unity-sdk-v4#configure-sdk-settings).

    ```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)

    Set `Auto Start Tracking Enabled` to `false` in the [project settings](/en/developers/deprecated-unity-sdk-v1#set-up-project).

    ```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>

### Airbridge dashboard setup

The Airbridge dashboard setup must be completed to implement the integration. For detailed instructions, refer to the user guide below.

* [Amplitude Integration User Guide](/en/guides/amplitude#implementing-integration-through-the-v2-method)

<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" />
