AppsFlyer

AppsFlyer console configuration

  1. In your AppsFlyer interface, select Integrated Partners, under Configuration

    Add partner

  2. Look for FollowAnalytics in the list, click on it

    Select FollowAnalytics

  3. In the partnet configuration page, simply check the enable box and save.

    Configure FollowAnalytics

SDK configuration

Please refer to the AppsFlyer documentation to integrate their SDK.

To enable proper reporting of the attributions, you need to pass the FollowAnalytics device ID to the AppsFlyer SDK.

This means that you need to initialize the FollowAnalytics SDK before initializing the AppsFlyer SDK.

To pass the FA device ID to AppsFlyer, you need to send it as additional data, after you have set your AppsFlyer IDs, and before trackAppLaunch (iOS) or startTracking (Android) is called:

iOS

[AppsFlyerTracker sharedTracker].appsFlyerDevKey = @"REPLACE THIS WITH YOUR Dev_Key";
[AppsFlyerTracker sharedTracker].appleAppID = @"REPLACE THIS WITH YOUR App_ID";
[[AppsFlyerTracker sharedTracker] setAdditionalData:@{ @"customData" : [[FAFollowApps deviceUUID] UUIDString] }];

Android

HashMap<String, Object> customData = new HashMap<String,Object>();
customData.put("customData", FollowApps.getDeviceId());
AppsFlyerLib.setAdditionalData(customData);
AppsFlyerLib.getInstance().startTracking(this.getApplication(),"[Dev_Key]");

Kochava

Kochava console configuration

From within your Kochava account, you can enable postback configurations. To add FollowAnalytics, proceed as follows:

  1. Login to Kochava and select the desired app

  2. Go to App Tools > Partner Configuration

  3. Click Add a configuration, select FollowAnalytics as your Network Partner, then click Go.

    Add partner

  4. In the configuration pane, fill in the fields:

    • Package name: must match the app package name / bundle ID (case sensitive)
    • Advertiser ID and Name: Type in your company name in both fields, and ensure that as you add postbacks for other apps in the future, you use the same values for these fields.
    • Leave the other fields to their default value, as illustrated above.
  5. Save the configuration. You're done: this is all you need to do server-side.

SDK configuration

Please refer to the Kochava documentation to integrate their SDK.

To enable proper reporting of the attributions, you need to pass the FollowAnalytics device ID to the Kochava SDK.

This means that you need to initialize the FollowAnalytics SDK before initializing the Kochava SDK.

To pass the FA device ID to Kochava, you need to send it in the identityLink hash, under the key fa_device_id, as illustrated below:

Objective-C

NSDictionary *initDict = [NSDictionary dictionaryWithObjectsAndKeys:
@"myKochavaAppGUID", @"kochavaAppId",
...
@{ @"fa_device_id" : [[FAFollowApps deviceUUID] UUIDString] }, @"identityLink",
nil];
kochavaTracker = [[KochavaTracker alloc] initKochavaWithParams:initDict];

Android

HashMap<String, Object> datamap = new HashMap<String, Object>();
datamap.put(Feature.INPUTITEMS.KOCHAVA_APP_ID ,"mykochavaappguid" );
...
HashMap<String, String> identityLinkMap = new HashMap<String, String>();
identityLinkMap.put("fa_device_id", FollowApps.getDeviceId() );
datamap.put(Feature.INPUTITEMS.IDENTITY_LINK , identityLinkMap);
Feature kTracker = new Feature( contextObject ,datamap);

Tune

Tune console configuration

To enable postback API calls from Tune to FollowAnalytics, you will need to declare FollowAnalytics as a Partner, then associate a postback to it.

  1. Go to Partner in the main menu to the left, and select "Add internal partner".

  2. Name it "FollowAnalytics", define it as an Advertising Partner. Click Add Partner.

    add partner

  3. Go to Data Sharing in the main menu, and select the Postback URL tab. Click "Create Custom Postback".

  4. In the following page, give a name, select Advertising Partner, and in the list below, pick the Partner you just created.

    Create a new postback

  5. In the "Enter Postback URL" area, copy the following URL:

    https://attribution.follow-apps.com/api/postback?provider=HasOffers&package_name={package_name}&device_type={device_type}&event={event_name}&campaign_id={campaign_id}&campaign_name={campaign_name}&publisher_id={publisher_id}&publisher_name={publisher_name}&advertiser_id={advertiser_id}&advertiser_name={advertiser_name}&timestamp={timestamp_milliseconds}&fa_dv_id={user_id}&click_transaction_id={click_transaction_id}&mat_id={mat_id}&ifa={ios_ifa}&lat={ios_ad_tracking_disabled}&ifa_other={google_aid}&lat_other={google_ad_tracking_disabled}

    If you want to not store identifiers for advertising (IFA / IDFA), you can remove the ifa, lat, ifa_other and lat_other parameters from the URL.

  6. Keep scrolling down the page to specify that this postback should cover All Partners, All Mobile Apps, for event type Install. Then click Save.

last fields to fill

The fa_dv_id URL parameter

In the postback URL, the fa_dv_id field is what allows FollowAnalytics to match attributions to registered devices.

It can be filled thanks to a proper SDK configuration, as described below.

SDK configuration

Please refer to the Tune documentation to integrate their SDK.

iOS

First, you need to install Tune's mobile SDK.

Then, to allow the mapping of Tune attributions to FollowAnalytics sessions, you need to set the Tune userId using the FollowAnalytics deviceId, before calling the measureSession method:

Objective-C

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

    // Be sure to instantiate FollowAnalytics' SDK before instantiating TUNE's SDK
    [FAFollowApps configureWithId:API_KEY_STRING debugStateOn:FADEBUG options:launchOptions];

    // TUNE SDK Configuration at https://developers.mobileapptracking.com/ios-sdk/
    .... 

return YES;
}

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    // Make sure to set FollowAnalytics' userId before calling the Tune's measureSession
    [Tune setUserId:[[FAFollowApps deviceUUID] UUIDString]];
    // Tune will not function without the measureSession call included
    [Tune measureSession];
}

SWIFT

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
  // Be sure to instantiate FollowAnalytics' SDK before instantiating TUNE's SDK

  FAFollowApps.configureWithId(API_KEY_STRING, debugStateOn: false, options: launchOptions)

  // TUNE SDK Configuration at https://developers.mobileapptracking.com/ios-sdk/
  ...

  return true
}

func applicationDidBecomeActive(application: UIApplication) {
  // Make sure to set FollowAnalytics' userId before calling the Tune's measureSession
  Tune.setUserId(FAFollowApps.deviceUUID().UUIDString)

  // Tune will not function without the measureSession call included
  Tune.measureSession()
}

Android

First, you need to install Tune's mobile SDK.

Then, to allow the mapping of Tune attributions to FollowAnalytics sessions, you need to set the Tune userId using the FollowAnalytics deviceId, before calling the measureSession method:

//Initialize FollowAnalytics SDK first
...

//Initialize MAT SDK
MobileAppTracker.init(getApplicationContext(), "your_advertiser_ID", "your_conversion_key");
mobileAppTracker = MobileAppTracker.getInstance();
...

//set MAT userId with FA device ID
mobileAppTracker.setUserId(FollowApps.getDeviceId()); 
// and only then:
mobileAppTracker.measureSession();