CleverTap

Airbridge supports integration with CleverTap - a retention cloud that empowers digital brands to increase customer retention and lifetime value. By enabling the integration, you can leverage the attribution data from Airbridge and the AI/ML-powered insights from CleverTap to deliver hyper-personalized engagement campaigns to customers.

After the integration setup, the install events, in-app events, and attribution data can be sent to CleverTap.

Airbridge ↔ CleverTap Integration

For the CleverTap integration, it is required to set CleverTap SDK's Device ID as Airbridge SDK's Device Alias. After setting Device Alias and enabling CleverTap integration on the Airbridge dashboard, the Event collected from Airbridge SDK and attribution data will be sent to CleverTap via Server to Server.

Minimum SDK Version

  • Airbridge Android SDK: 2.19.5
  • Airbridge iOS SDK: 2.18.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

Integration - Android

// MainApplication.java
@Override
public void onCreate() {
    super.onCreate();
    // Initialize Airbridge SDK
    AirbridgeConfig config = new AirbridgeConfig.Builder("APP_NAME", "APP_TOKEN")
        // Make Airbridge SDK explicitly start tracking
        .setAutoStartTrackingEnabled(false)
        .build();
    Airbridge.init(this, config);
    
    // Fetch CleverTapID from CleverTap SDK
    CleverTapAPI.getDefaultInstance(this).getCleverTapID(new OnInitCleverTapIDListener() {
        @Override
        public void onInitCleverTapID(String cleverTapID) {
            // Set device alias into Airbridge SDK
            Airbridge.setDeviceAlias("clevertap_device_id", cleverTapID);
            // Explicitly start tracking
            Airbridge.startTracking();
        }
    });
}
// MainApplication.kt
override fun onCreate() {
    super.onCreate()
    // Initialize Airbridge SDK
    val config = AirbridgeConfig.Builder("YOUR_APP_NAME", "YOUR_APP_SDK_TOKEN")
        // Make Airbridge SDK explicitly start tracking
        .setAutoStartTrackingEnabled(false)
        .build()
    Airbridge.init(this, config)

    // Fetch CleverTapID from CleverTap SDK
    CleverTapAPI.getDefaultInstance(this)?.getCleverTapID { cleverTapID ->
        // Set device alias into Airbridge SDK
        Airbridge.setDeviceAlias("clevertap_device_id", cleverTapID)
        // Explicitly start tracking
        Airbridge.startTracking()
    }
}

Integration - iOS

// AppDelegate.swift
func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]?
) {
    AirBridge.setAutoStartTrackingEnabled(false)
    AirBridge.getInstance("YOUR_APP_TOKEN", appName:"YOUR_APP_NAME", withLaunchOptions:launchOptions)

    CleverTap.autoIntegrate()
    if let cleverTapID = CleverTap.sharedInstance()?.profileGetID() {
        AirBridge.setDeviceAlias(withKey:"clevertap_device_id", value:String(cleverTapID))
    }

    AirBridge.startTracking()
}
// AppDelegate.m
- (BOOL)          application:(UIApplication*)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    AirBridge.autoStartTrackingEnabled = NO;
    [AirBridge getInstance:@"YOUR_APP_TOKEN" appName:@"YOUR_APP_NAME" withLaunchOptions:launchOptions];

    [CleverTap autoIntegrate];
    NSString* cleverTapID = [CleverTap.sharedInstance profileGetCleverTapID];
    if (cleverTapID != nil) {
        [AirBridge setDeviceAliasWithKey:@"clevertap_device_id" value:cleverTapID];
    }

    [AirBridge startTracking];
}

Integration - React Native

CleverTap.profileGetCleverTapID(function (error, cleverTapID) {
    Airbridge.state.setDeviceAlias("clevertap_device_id", cleverTapID)
    Airbirdge.state.startTracking()
})

🚧

For the integration, set the 'autoStartTrackingEnabled' option from airbridge.json as 'false'.


Integration - Cordova

CleverTap.getCleverTapID(function (cleverTapID) {
    Airbridge.state.setDeviceAlias("clevertap_device_id", cleverTapID)
    Airbirdge.state.startTracking()
})

🚧

For the integration, set the 'autoStartTrackingEnabled' option from airbridge.json as 'false'.


Integration - Flutter

CleverTapPlugin.getCleverTapID().then((cleverTapID) {
    Airbridge.state.setDeviceAlias("clevertap_device_id", cleverTapID)
    Airbirdge.state.startTracking()
})

🚧

For the integration, set the 'autoStartTrackingEnabled' option from airbridge.json as 'false'.


Integration - Unity

string CleverTapID = CleverTapBinding.ProfileGetCleverTapID();
AirbridgeUnity.SetDeviceAlias("clevertap_device_id", CleverTapID);
AirbridgeUnity.StartTracking()

🚧

For the integration, set the 'autoStartTrackingEnabled' option from Project Setup as 'false'.