Description
Requirements:
- Have an Adjust account
- Register your app in Adjust
DATA
The connector will allow you to grab 4 level of information from Adjust in AT Internet solution: network, campaign, adGroup, creative.
Code snippets:
This snippet will add Adjust data to a custom object (stc) and send it in a screen hit named YourScreenName. In order to use this data, you’ll have to create a Datamanager rule.
Please keep in mind that this is only an example of tagging, you must adapt it to your code and analyses.
Swift (iOS)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
@UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate, AdjustDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { // Configure Adjust let appToken = "{YourAppToken}" let environment = ADJEnvironmentSandbox let adjustConfig = ADJConfig(appToken: appToken, environment: environment) // Set an attribution delegate adjustConfig?.delegate = self // Initialise the SDK Adjust.appDidLaunch(adjustConfig!) return true } func adjustAttributionChanged(attribution: ADJAttribution!) { var customObj: [String: AnyObject] = [:] var adjustData: [String: AnyObject] = [:] if let network = attribution.network { adjustData["network"] = network } if let campaign = attribution.campaign { adjustData["campaign"] = campaign } if let adGroup = attribution.adgroup { adjustData["adGroup"] = adGroup } if let creative = attribution.creative { adjustData["creative"] = creative } // Create custom object with Adjust data customObj["adjust"] = adjustData // AT Internet tracker instance let tracker: Tracker = ATInternet.sharedInstance.defaultTracker // Add Adjust data only to current screen hit tracker.customObjects.add(customObj) tracker.screens.add("YourScreenName").sendView() } } |
Java (Android)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
import android.app.Activity; import android.app.Application; import android.os.Bundle; import com.adjust.sdk.Adjust; import com.adjust.sdk.AdjustAttribution; import com.adjust.sdk.AdjustConfig; import com.adjust.sdk.OnAttributionChangedListener; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.Screen; import com.atinternet.tracker.Tracker; import org.json.JSONException; import org.json.JSONObject; public class YourApplicationClass extends Application { // AT Internet tracker instance Tracker tracker = ATInternet.getInstance().getDefaultTracker(); @Override public void onCreate() { super.onCreate(); // Configure Adjust String appToken = "{YourAppToken}"; String environment = AdjustConfig.ENVIRONMENT_SANDBOX; AdjustConfig config = new AdjustConfig(this, appToken, environment); config.setOnAttributionChangedListener(new OnAttributionChangedListener() { @Override public void onAttributionChanged(AdjustAttribution attribution) { // Get Adjust properties JSONObject adjustData = new JSONObject(); putJsonData(adjustData, "network", attribution.network); putJsonData(adjustData, "campaign", attribution.campaign); putJsonData(adjustData, "adGroup", attribution.adgroup); putJsonData(adjustData, "creative", attribution.creative); if (adjustData.length() > 0) { try { // Create custom object with Adjust data JSONObject customObj = new JSONObject(); customObj.put("adjust", adjustData); // Add Adjust data only to current screen hit Screen s = tracker.Screens().add("YourScreenName"); s.CustomObjects().add(customObj.toString()); s.sendView(); } catch (JSONException e) { e.printStackTrace(); } } } private void putJsonData(JSONObject data, String name, String value) { try { if (value != null) { data.put(name, value); } } catch (JSONException e) { e.printStackTrace(); } } }); Adjust.onCreate(config); // Register onResume and onPause events of all activities // for applications with minSdkVersion >= 14. registerActivityLifecycleCallbacks(new AdjustLifecycleCallbacks()); } // You can use this class if your app is for Android 4.0 or higher private static final class AdjustLifecycleCallbacks implements Application.ActivityLifecycleCallbacks { @Override public void onActivityResumed(Activity activity) { Adjust.onResume(); } @Override public void onActivityPaused(Activity activity) { Adjust.onPause(); } @Override public void onActivityStopped(Activity activity) { } @Override public void onActivitySaveInstanceState(Activity activity, Bundle outState) { } @Override public void onActivityDestroyed(Activity activity) { } @Override public void onActivityCreated(Activity activity, Bundle savedInstanceState) { } @Override public void onActivityStarted(Activity activity) { } } } |
Reviews
There are no reviews yet.