Adobe Analytics
This document lists information about the previous versions of the Adobe Experience Platform Mobile SDKs. Check out this page for latest versions and solution support of the Mobile SDKs.
Configure the Analytics extension in the Data Collection UI
- In the Data Collection UI, select the Extensions tab.
- On the Catalog tab, locate the Adobe Analytics extension, and select Install.
- Type the extension settings. For more information, please read the configure the Analytics Extension section.
- Click Save.
- Follow the publishing process to update SDK configuration.
Configure the Analytics extension
Analytics company
If you have access to more than one Analytics company, a select menu will appear, allowing you to choose which company you want to use. If you only have access to one Analytics company, this select menu will not appear.
Once you select an Analytics company, the list of report suites associated with that company will appear in the report suites section.
Report suites
To learn how to find report suite IDs, please read the documentation on report suites.
Select one or more mobile-enabled report suite identifiers from the combo box to which the Analytics data should be sent. Only report suite identifiers that belong to a company and that are enabled for mobile can be selected. For information on how to enable mobile for your report suite, see the mobile management documentation.
To narrow the search for a report suite identifier, type a string in the combo box text field. After a valid report suite identifier has been selected, this identifier appears in a tag below the combo box. To remove a report suite ID, click on the X next to the ID you want to remove. Report suite IDs can also be configured for the Development and Staging environments.
Tracking server
To learn what a tracking server is and how to find it, please read the documentation on tracking servers.
The tracking server is the tracking domain that all the Analytics requests should be made.
Offline enabled
To learn more about offline tracking, please read the documentation on offline tracking.
When the Offline Enabled checkbox is selected, Analytics hits are queued when your device is offline and are sent later when your device is back online. To use offline tracking, ensure that your report suite is timestamp enabled.
If your report suite is timestamp enabled, the checkbox must be selected. If your report suite is not timestamped enabled, leave the checkbox unselected. If this setting is not configured correctly, data will be lost.
If you are not sure whether your report suite is timestamp enabled, contact Customer Care.
If you currently send Mobile SDK data to a report suite that also collects data from web JavaScript, you may need to set up a separate report suite for mobile data or include a custom timestamp on all JavaScript hits that use the s.timestamp
variable. For more information, please contact Customer Care.
Audience Manager forwarding
For more information about Analytics server-side forwarding to Audience Manager, see the documentation on Analytics sever-side forwarding.
If you set up Analytics server-side forwarding to Audience Manager in your Analytics report suite, select the Audience Manager Forwarding checkbox. When this checkbox is selected, all SDK requests to Analytics servers are sent with an expected response code of 10. This step ensures that client-side Analytics response traffic is forwarded to the Audience Manager SDK so that the User Profile is correctly updated.
Backdate previous session info
Select the Backdate Previous Session Info checkbox only if you have timestamp-enabled report report suites.
When you select this checkbox, the SDK backdates the end-of-session lifecycle information so that this information can be attributed into its correct session. Session information currently consists of crashes and session length.
The SDK also backdates the session information hit to one second after the last hit of the previous session. This means that crashes and session data will correlate with the correct date on which they occurred. One hit is backdated each time a new launch of the application is occurs.
For example, if you select the checkbox, Lifecycle session information or crash events are backdated to one second after the last hit was sent. If you do not select the checkbox, Lifecycle data is attached to the first hit of the subsequent session.
If this option is disabled, Mobile SDK attaches the session information to the current lifecycle.
Batch limit
This setting creates a threshold number of hits to be sent in consecutive calls. For example, if you type or select "10", each Analytics hit before the 10th hit is stored in the queue. When the 10th hit comes in, all 10 hits are sent to Analytics in the order in which they were generated.
If you set a value greater than 0, ensure that the Offline Enabled checkbox is also selected.
The default value for this setting is 0, which means that hit batching is disabled, and all hits are immediately sent to Analytics as they are generated.
Launch hit delay
The number of seconds to wait before Analytics launch hits are sent from the SDK.
Add Analytics to your application
Java
- Add the Mobile Core and Analytics extensions to your project using the app's Gradle file.
Copied to your clipboardimplementation 'com.adobe.marketing.mobile:sdk-core:1.+'implementation 'com.adobe.marketing.mobile:analytics:1.+'
- Import the Analytics extension in your application's main activity.
Copied to your clipboardimport com.adobe.marketing.mobile.MobileCore;import com.adobe.marketing.mobile.Analytics;
- Add the Mobile Core and Analytics extensions to your project using Cocoapods.
- Add the following pods in your
Podfile
:
Copied to your clipboardpod 'ACPCore'pod 'ACPAnalytics'
- Import the Analytics and Identity libraries:
Swift
Copied to your clipboardimport ACPCoreimport ACPAnalytics
Objective-C
Copied to your clipboard#import "ACPCore.h"#import "ACPAnalytics.h"#import "ACPIdentity.h"
JavaScript
- Install Adobe Analytics.
Copied to your clipboardnpm install @adobe/react-native-acpanalytics
- Link the module and the application.
For React Native versions 0.6 and above, you can use the CLI autolink feature to link the module while building the app.
For React Native versions less than or equal to 0.59, you can use the following scripts:
Copied to your clipboardreact-native link @adobe/react-native-acpanalytics
If you are using iOS and cocoapods
, run:
Copied to your clipboardcd ios/ && pod install
- Import the extension.
Copied to your clipboardimport {ACPAnalytics} from '@adobe/react-native-acpanalytics';
- Get the extension version.
Copied to your clipboardACPAnalytics.extensionVersion().then(version => console.log("AdobeExperienceSDK: ACPAnalytics version: " + version));
Flutter
- Install Analytics.
Instructions on installing the Analytics SDK in Flutter can be found in the official Flutter documentation.
- Import the extension.
Copied to your clipboardimport 'package:flutter_acpanalytics/flutter_acpanalytics.dart';
- Get the extension version.
Copied to your clipboardString version = await FlutterACPAnalytics.extensionVersion;
Cordova
- After creating your Cordova app and adding the Android and iOS platforms, add the Analytics extension.
Copied to your clipboardcordova plugin add https://github.com/adobe/cordova-acpanalytics.git
- Get the extension version.
Copied to your clipboardACPAnalytics.extensionVersion(function(version) {console.log("ACPAnalytics version: " + version);}, function(error) {console.log(error);});
C#
- After importing the ACPAnalytics.unitypackage, add the Analytics extension for Unity.
Copied to your clipboardusing com.adobe.marketing.mobile;
- Get the extension version.
Copied to your clipboardACPAnalytics.extensionVersion();
Java
- Add the Mobile Core and Analytics extensions to your project using the app's Gradle file.
Copied to your clipboardimplementation 'com.adobe.marketing.mobile:sdk-core:1.+'implementation 'com.adobe.marketing.mobile:analytics:1.+'
- Import the Analytics extension in your application's main activity.
Copied to your clipboardimport com.adobe.marketing.mobile.MobileCore;import com.adobe.marketing.mobile.Analytics;
- Add the Mobile Core and Analytics extensions to your project using Cocoapods.
- Add the following pods in your
Podfile
:
Copied to your clipboardpod 'ACPCore'pod 'ACPAnalytics'
- Import the Analytics and Identity libraries:
Swift
Copied to your clipboardimport ACPCoreimport ACPAnalytics
Objective-C
Copied to your clipboard#import "ACPCore.h"#import "ACPAnalytics.h"#import "ACPIdentity.h"
JavaScript
- Install Adobe Analytics.
Copied to your clipboardnpm install @adobe/react-native-acpanalytics
- Link the module and the application.
For React Native versions 0.6 and above, you can use the CLI autolink feature to link the module while building the app.
For React Native versions less than or equal to 0.59, you can use the following scripts:
Copied to your clipboardreact-native link @adobe/react-native-acpanalytics
If you are using iOS and cocoapods
, run:
Copied to your clipboardcd ios/ && pod install
- Import the extension.
Copied to your clipboardimport {ACPAnalytics} from '@adobe/react-native-acpanalytics';
- Get the extension version.
Copied to your clipboardACPAnalytics.extensionVersion().then(version => console.log("AdobeExperienceSDK: ACPAnalytics version: " + version));
Flutter
- Install Analytics.
Instructions on installing the Analytics SDK in Flutter can be found in the official Flutter documentation.
- Import the extension.
Copied to your clipboardimport 'package:flutter_acpanalytics/flutter_acpanalytics.dart';
- Get the extension version.
Copied to your clipboardString version = await FlutterACPAnalytics.extensionVersion;
Cordova
- After creating your Cordova app and adding the Android and iOS platforms, add the Analytics extension.
Copied to your clipboardcordova plugin add https://github.com/adobe/cordova-acpanalytics.git
- Get the extension version.
Copied to your clipboardACPAnalytics.extensionVersion(function(version) {console.log("ACPAnalytics version: " + version);}, function(error) {console.log(error);});
C#
- After importing the ACPAnalytics.unitypackage, add the Analytics extension for Unity.
Copied to your clipboardusing com.adobe.marketing.mobile;
- Get the extension version.
Copied to your clipboardACPAnalytics.extensionVersion();
Register Analytics with Mobile Core
Java
The following sample shows how to set up methods that call the setApplication() method in the onCreate()
method:
Copied to your clipboardpublic class MobileApp extends Application {@Overridepublic void onCreate() {super.onCreate();MobileCore.setApplication(this);MobileCore.configureWithAppID("yourAppId");try {Analytics.registerExtension(); //Register Analytics with Mobile CoreIdentity.registerExtension();MobileCore.start(null);} catch (Exception e) {//Log the exception}}}
Analytics depends on the Identity extension and is automatically included in Core by Maven. When manually installing the Analytics extension, ensure that you add the identity-1.x.x.aar
library to your project.
Swift
In your app's _:didFinishLaunchingWithOptions
function, register the Audience Manager extension with the Mobile Core:
Copied to your clipboardfunc application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {ACPCore.configure(withAppId: "yourAppId")ACPAnalytics.registerExtension()ACPIdentity.registerExtension()ACPCore.start(nil)// Override point for customization after application launch.return true;}
Objective-C
In your app's application:didFinishLaunchingWithOptions
, register Analytics with Mobile Core:
Copied to your clipboard- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {[ACPCore configureWithAppId:@"yourAppId"];[ACPAnalytics registerExtension];[ACPIdentity registerExtension];[ACPCore start:nil];// Override point for customization after application launch.return YES;}
Analytics depends on the Identity extension and is automatically included in the Core pod. When installing the Analytics extension manually, ensure that you added the libACPIdentity_iOS.a
library to your project.
C#
Register the extension in the start()
function:
Copied to your clipboardusing com.adobe.marketing.mobile;using using AOT;public class MainScript : MonoBehaviour{[MonoPInvokeCallback(typeof(AdobeStartCallback))]public static void HandleStartAdobeCallback(){ACPCore.ConfigureWithAppID("1423ae38-8385-8963-8693-28375403491d");}// Start is called before the first frame updatevoid Start(){ACPAnalytics.registerExtension();ACPCore.Start(HandleStartAdobeCallback);}}
C#
iOS
Register the Analytics extension in your app's FinishedLaunching()
function:
Copied to your clipboardpublic override bool FinishedLaunching(UIApplication app, NSDictionary options){global::Xamarin.Forms.Forms.Init();LoadApplication(new App());ACPAnalytics.RegisterExtension();// start coreACPCore.Start(startCallback);return base.FinishedLaunching(app, options);}private void startCallback(){// set launch configACPCore.ConfigureWithAppID("yourAppId");}
Android
Register the Analytics extension in your app's OnCreate()
function:
Copied to your clipboardprotected override void OnCreate(Bundle savedInstanceState){base.OnCreate(savedInstanceState);global::Xamarin.Forms.Forms.Init(this, savedInstanceState);LoadApplication(new App());ACPAnalytics.RegisterExtension();// start coreACPCore.Start(new CoreStartCompletionCallback());}class CoreStartCompletionCallback : Java.Lang.Object, IAdobeCallback{public void Call(Java.Lang.Object callback){// set launch configACPCore.ConfigureWithAppID("yourAppId");}}
Java
The following sample shows how to set up methods that call the setApplication() method in the onCreate()
method:
Copied to your clipboardpublic class MobileApp extends Application {@Overridepublic void onCreate() {super.onCreate();MobileCore.setApplication(this);MobileCore.configureWithAppID("yourAppId");try {Analytics.registerExtension(); //Register Analytics with Mobile CoreIdentity.registerExtension();MobileCore.start(null);} catch (Exception e) {//Log the exception}}}
Analytics depends on the Identity extension and is automatically included in Core by Maven. When manually installing the Analytics extension, ensure that you add the identity-1.x.x.aar
library to your project.
Swift
In your app's _:didFinishLaunchingWithOptions
function, register the Audience Manager extension with the Mobile Core:
Copied to your clipboardfunc application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {ACPCore.configure(withAppId: "yourAppId")ACPAnalytics.registerExtension()ACPIdentity.registerExtension()ACPCore.start(nil)// Override point for customization after application launch.return true;}
Objective-C
In your app's application:didFinishLaunchingWithOptions
, register Analytics with Mobile Core:
Copied to your clipboard- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {[ACPCore configureWithAppId:@"yourAppId"];[ACPAnalytics registerExtension];[ACPIdentity registerExtension];[ACPCore start:nil];// Override point for customization after application launch.return YES;}
Analytics depends on the Identity extension and is automatically included in the Core pod. When installing the Analytics extension manually, ensure that you added the libACPIdentity_iOS.a
library to your project.
JavaScript
When using React Native, register Analytics with Mobile Core in native code as shown on the Android and iOS tabs.
Dart
When using Flutter, register Analytics with Mobile Core in native code as shown on the Android and iOS tabs.
Cordova
When using Cordova, register Analytics with Mobile Core in native code as shown on the Android and iOS tabs.
C#
Register the extension in the start()
function:
Copied to your clipboardusing com.adobe.marketing.mobile;using using AOT;public class MainScript : MonoBehaviour{[MonoPInvokeCallback(typeof(AdobeStartCallback))]public static void HandleStartAdobeCallback(){ACPCore.ConfigureWithAppID("1423ae38-8385-8963-8693-28375403491d");}// Start is called before the first frame updatevoid Start(){ACPAnalytics.registerExtension();ACPCore.Start(HandleStartAdobeCallback);}}
C#
iOS
Register the Analytics extension in your app's FinishedLaunching()
function:
Copied to your clipboardpublic override bool FinishedLaunching(UIApplication app, NSDictionary options){global::Xamarin.Forms.Forms.Init();LoadApplication(new App());ACPAnalytics.RegisterExtension();// start coreACPCore.Start(startCallback);return base.FinishedLaunching(app, options);}private void startCallback(){// set launch configACPCore.ConfigureWithAppID("yourAppId");}
Android
Register the Analytics extension in your app's OnCreate()
function:
Copied to your clipboardprotected override void OnCreate(Bundle savedInstanceState){base.OnCreate(savedInstanceState);global::Xamarin.Forms.Forms.Init(this, savedInstanceState);LoadApplication(new App());ACPAnalytics.RegisterExtension();// start coreACPCore.Start(new CoreStartCompletionCallback());}class CoreStartCompletionCallback : Java.Lang.Object, IAdobeCallback{public void Call(Java.Lang.Object callback){// set launch configACPCore.ConfigureWithAppID("yourAppId");}}
Send Lifecycle metrics to Analytics
To automatically report on the application lifecycle details in Analytics, ensure that you properly configure the lifecycle data collection. For more information, see the documentation on Lifecycle metrics.
Send app states and actions to Analytics
To track mobile app states and actions in Adobe Analytics, implement the trackAction and trackState APIs from the Mobile Core extension. For more information, see the track app actions and track app states tutorials.
trackState reports the view state as the Page Name, and state views are reported as Page View in Analytics. The value is sent to Analytics by using the page name variable (pagename=value
).
trackAction reports the Action as an event and does not increment your page views in Analytics. The value is sent to Analytics by using the action variable (action=value
).
Integrations with Adobe Experience Platform solutions and services
Analytics for Adobe Target (A4T)
To see the performance of your Target activities for some segments, you can set up the Analytics extension for Target (A4T) cross-solution integration by enabling the A4T campaigns. This integration allows you to use Analytics reports to examine your results. If you use Analytics as the reporting source for an activity, all reporting and segmentation for that activity is based on Analytics data collection. For more information, see Target.
Server-side forwarding with Audience Manager
To enable server-side forwarding to share Analytics data with Audience Manager, see the documentation on Server-side Forwarding to enable server-side forwarding at the report suite level.
To enable client-side forwarding to share Analytics data with Audience Manager within the SDK, in the Data Collection UI, select the Audience Manager Forwarding checkbox. For more information, go to Audience Manager.
Audio and video analytics
For more information about collecting audio and video analytics, please read the documentation on Media Analytics for audio and video.
Event serialization
Event serialization is not supported by processing rules. To set serialized events directly on the hits sent to Analytics, use the following syntax in context data parameters:
Java
Syntax
Copied to your clipboardcdata.put("&&events", "event1:12341234");
Example
Copied to your clipboard//create a context data dictionaryHashMap cdata = new HashMap<String, Object>();// add eventscdata.put("&&events", "event1:12341234");// send a tracking call - use either a trackAction or TrackState call.// trackAction example:MobileCore.trackAction("Action Name", cdata);// trackState example:MobileCore.trackState("State Name", cdata);
Objective-C
Syntax
Copied to your clipboard[contextData setObject:@"eventN:serial number" forKey:@"&&events"];
Example
Copied to your clipboard//create a context data dictionaryNSMutableDictionary *contextData = [NSMutableDictionary dictionary];// add events[contextData setObject:@"event1:12341234" forKey:@"&&events"];// send the tracking call - use either a trackAction or trackState call.// trackAction example:[ACPCore trackAction:@"Action Name" data:contextData];// trackState example:[ACPCore trackState:@"State Name" data:contextData];
JavaScript
Syntax
Copied to your clipboardvar contextData = {"eventN:serial number": "&&events"};
Example
Copied to your clipboard// create a context data dictionary and add eventsvar contextData = {"event1:12341234": "&&events"};// send the tracking call - use either a trackAction or trackState call.// trackAction example:ACPCore.trackAction("Action Name", contextData);// trackState example:ACPCore.trackState("State Name", contextData);
Dart
Syntax
Copied to your clipboardvar contextData = {"eventN:serial number": "&&events"};
Example
Copied to your clipboard// create a context data dictionary and add eventsvar contextData = {"event1:12341234": "&&events"};// send the tracking call - use either a trackAction or trackState call.// trackAction example:FlutterACPCore.trackAction("Action Name", data: contextData);// trackState example:FlutterACPCore.trackState("State Name", data: contextData);
Cordova
Syntax
Copied to your clipboardvar contextData = {"eventN:serial number": "&&events"};
Example
Copied to your clipboard// create a context data dictionary and add eventsvar contextData = {"event1:12341234": "&&events"};// send the tracking call - use either a trackAction or trackState call.// trackAction example:ACPCore.trackAction("Action Name", contextData, function(handleCallback) {console.log("AdobeExperenceSDK: Track action success: " + handleCallback);}, function(handleError) {console.log("AdobeExperenceSDK: Failed to track action: " + handleError);});// trackState example:ACPCore.trackState("State Name", contextData, function(handleCallback) {console.log("AdobeExperenceSDK: Track state success: " + handleCallback);}, function(handleError) {console.log("AdobeExperenceSDK: Failed to track state: " + handleError);});
C#
Syntax
Copied to your clipboardvar contextData = new Dictionary<string, string>();contextData.Add("key", "trackAction");
Example
Copied to your clipboard// create a context data dictionary and add eventsvar contextData = new Dictionary<string, string>();contextData.Add("key", "trackAction");// send the tracking call - use either a trackAction or trackState call.// trackAction example:ACPCore.TrackAction("Action Name", contextData);// trackState example:ACPCore.TrackState("State Name", contextData);
C#
iOS syntax
Copied to your clipboardvar contextData = new NSMutableDictionary<NSString, NSString>{["&&events"] = new NSString("eventN:serial number")};
iOS example
Copied to your clipboard// create a context data dictionary and add eventsvar contextData = new NSMutableDictionary<NSString, NSString>{["&&events"] = new NSString("event1:12341234")};// send the tracking call - use either a trackAction or trackState call.// trackAction example:ACPCore.TrackAction("Action Name", contextData);// trackState example:ACPCore.TrackState("State Name", contextData);
Android syntax
Copied to your clipboardvar contextData = new Dictionary<string, string>();contextData.Add("&&events", "event1:12341234");
Android example
Copied to your clipboard// create a context data dictionary and add eventsvar contextData = new Dictionary<string, string>();contextData.Add("&&events", "event1:12341234");// send the tracking call - use either a trackAction or trackState call.// trackAction example:ACPCore.TrackAction("Action Name", contextData);// trackState example:ACPCore.TrackState("State Name", contextData);
Java
Syntax
Copied to your clipboardcdata.put("&&events", "event1:12341234");
Example
Copied to your clipboard//create a context data dictionaryHashMap cdata = new HashMap<String, Object>();// add eventscdata.put("&&events", "event1:12341234");// send a tracking call - use either a trackAction or TrackState call.// trackAction example:MobileCore.trackAction("Action Name", cdata);// trackState example:MobileCore.trackState("State Name", cdata);
Objective-C
Syntax
Copied to your clipboard[contextData setObject:@"eventN:serial number" forKey:@"&&events"];
Example
Copied to your clipboard//create a context data dictionaryNSMutableDictionary *contextData = [NSMutableDictionary dictionary];// add events[contextData setObject:@"event1:12341234" forKey:@"&&events"];// send the tracking call - use either a trackAction or trackState call.// trackAction example:[ACPCore trackAction:@"Action Name" data:contextData];// trackState example:[ACPCore trackState:@"State Name" data:contextData];
JavaScript
Syntax
Copied to your clipboardvar contextData = {"eventN:serial number": "&&events"};
Example
Copied to your clipboard// create a context data dictionary and add eventsvar contextData = {"event1:12341234": "&&events"};// send the tracking call - use either a trackAction or trackState call.// trackAction example:ACPCore.trackAction("Action Name", contextData);// trackState example:ACPCore.trackState("State Name", contextData);
Dart
Syntax
Copied to your clipboardvar contextData = {"eventN:serial number": "&&events"};
Example
Copied to your clipboard// create a context data dictionary and add eventsvar contextData = {"event1:12341234": "&&events"};// send the tracking call - use either a trackAction or trackState call.// trackAction example:FlutterACPCore.trackAction("Action Name", data: contextData);// trackState example:FlutterACPCore.trackState("State Name", data: contextData);
Cordova
Syntax
Copied to your clipboardvar contextData = {"eventN:serial number": "&&events"};
Example
Copied to your clipboard// create a context data dictionary and add eventsvar contextData = {"event1:12341234": "&&events"};// send the tracking call - use either a trackAction or trackState call.// trackAction example:ACPCore.trackAction("Action Name", contextData, function(handleCallback) {console.log("AdobeExperenceSDK: Track action success: " + handleCallback);}, function(handleError) {console.log("AdobeExperenceSDK: Failed to track action: " + handleError);});// trackState example:ACPCore.trackState("State Name", contextData, function(handleCallback) {console.log("AdobeExperenceSDK: Track state success: " + handleCallback);}, function(handleError) {console.log("AdobeExperenceSDK: Failed to track state: " + handleError);});
C#
Syntax
Copied to your clipboardvar contextData = new Dictionary<string, string>();contextData.Add("key", "trackAction");
Example
Copied to your clipboard// create a context data dictionary and add eventsvar contextData = new Dictionary<string, string>();contextData.Add("key", "trackAction");// send the tracking call - use either a trackAction or trackState call.// trackAction example:ACPCore.TrackAction("Action Name", contextData);// trackState example:ACPCore.TrackState("State Name", contextData);
C#
iOS syntax
Copied to your clipboardvar contextData = new NSMutableDictionary<NSString, NSString>{["&&events"] = new NSString("eventN:serial number")};
iOS example
Copied to your clipboard// create a context data dictionary and add eventsvar contextData = new NSMutableDictionary<NSString, NSString>{["&&events"] = new NSString("event1:12341234")};// send the tracking call - use either a trackAction or trackState call.// trackAction example:ACPCore.TrackAction("Action Name", contextData);// trackState example:ACPCore.TrackState("State Name", contextData);
Android syntax
Copied to your clipboardvar contextData = new Dictionary<string, string>();contextData.Add("&&events", "event1:12341234");
Android example
Copied to your clipboard// create a context data dictionary and add eventsvar contextData = new Dictionary<string, string>();contextData.Add("&&events", "event1:12341234");// send the tracking call - use either a trackAction or trackState call.// trackAction example:ACPCore.TrackAction("Action Name", contextData);// trackState example:ACPCore.TrackState("State Name", contextData);
The linked video shows you how to use trackState APIs to send data to Adobe Analytics.