믹스패널

에어브릿지는 믹스패널(Mixpanel) 연동을 지원합니다. 에어브릿지 사용자는 믹스패널에서 에어브릿지의 광고 성과 데이터를 활용해서 더 정교하게 프로덕트를 분석할 수 있습니다.

연동하기

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

지원하는 SDK

아래 버전 이상의 SDK에서 믹스패널 연동을 지원합니다.

  • 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

사전 준비사항

주의하세요

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

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

Android SDK (v4)

123456789101112131415
// 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("mixpanel_device_id", mixpanel.distinctId)
    
    // Explicitly start tracking
    Airbridge.startTracking()
}
12345678910111213141516
// 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("mixpanel_device_id", mixpanel.getDistinctId());
    
    // Explicitly start tracking
    Airbridge.startTracking();
}

Android SDK (Previous)

123456789101112131415
// 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("mixpanel_device_id", mixpanel.distinctId)
    
    // Explicitly start tracking
    Airbridge.startTracking()
}
12345678910111213141516
// 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("mixpanel_device_id", mixpanel.getDistinctId());

    // Explicitly start tracking
    Airbridge.startTracking();
}

iOS SDK (v4)

123456789101112131415161718
// 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: "mixpanel_device_id", value: Mixpanel.mainInstance().distinctId)
    
    // Explicitly start tracking
    Airbridge.startTracking()

    return true
}
12345678910111213141516171819
// 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:@"mixpanel_device_id" 
                               value:Mixpanel.mainInstance.distinctId];
    
    // Explicitly start tracking
    [Airbridge startTracking];

    return YES;
}

iOS SDK (Previous)

12345678910111213141516
// 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:"mixpanel_device_id", value:Mixpanel.mainInstance().distinctId)
    
    // Explicitly start tracking
    AirBridge.startTracking()

    return true
}
12345678910111213141516
// 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: @"mixpanel_device_id"
                                     value: Mixpanel.mainInstance.distinctId];

    // Explicitly start tracking
    [AirBridge startTracking];

    return YES;
}

123456
airbridge.init({
  ...
  autoStartTrackingEnabled: false,
})
airbridge.setDeviceAlias('mixpanel_device_id', mixpanel.get_distinct_id())
airbridge.startTracking()

React Native SDK (v4)

airbridge.jsonautoStartTrackingEnabled 옵션을 false로 설정해야 합니다.

123
const appInstanceId = await Mixpanel.getDistinctId();
Airbridge.setDeviceAlias('mixpanel_device_id', appInstanceId);
Airbridge.startTracking();

React Native SDK (Previous)

airbridge.jsonautoStartTrackingEnabled 옵션을 false로 설정해야 합니다.

12
Airbridge.state.setDeviceAlias("mixpanel_device_id", await Mixpanel.getDistinctId())
Airbirdge.state.startTracking()

airbridge.jsonautoStartTrackingEnabled 옵션을 false로 설정해야 합니다.

12
Airbridge.state.setDeviceAlias("mixpanel_device_id", mixpanel.get_distinct_id())
Airbirdge.state.startTracking()

Flutter SDK (v4)

airbridge.jsonautoStartTrackingEnabled 옵션을 false로 설정해야 합니다.

1234567
final appInstanceId = await mixpanel.getDistinctId();

if (appInstanceId != null) {
    Airbridge.setDeviceAlias("mixpanel_device_id", appInstanceId);
}

Airbridge.startTracking();

Flutter SDK (Previous)

airbridge.jsonautoStartTrackingEnabled 옵션을 false로 설정해야 합니다.

12
Airbridge.state.setDeviceAlias("mixpanel_device_id", await mixpanel.getDistinctId())
Airbirdge.state.startTracking()

Unity SDK (v4)

프로젝트 설정의 Auto Start Tracking Enabled 옵션을 false로 설정해야 합니다.

12
Airbridge.SetDeviceAlias("mixpanel_device_id", Mixpanel.DistinctId);
Airbridge.StartTracking();

Unity SDK (Previous)

프로젝트 설정의 Auto Start Tracking Enabled 옵션을 false로 설정해야 합니다.

12
AirbridgeUnity.SetDeviceAlias("mixpanel_device_id", Mixpanel.DistinctId);
AirbridgeUnity.StartTracking()

에어브릿지에서 믹스패널 연동하기

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