Show Menu
TOPICS×

Analytics methods

Here is a list of Adobe Analytics methods that are provided by the iOS library.
The SDK currently has support for multiple Adobe Experience Cloud Solutions, including Analytics, Target, Audience Manager, and the Adobe Experience Platform Identity Service. Methods are prefixed according to the solution. Experience Cloud ID methods are prefixed with track .
Each of these methods is used to send data into your Adobe Analytics report suite.
  • trackState:​data:
    States are the views that are available in your app, such as home dashboard , app settings , cart , and so on. These states are similar to pages on a website, and trackState calls increment page views. If state is empty, it displays as app name app version (build) in reports. If you see this value in reports, ensure you are setting state in each trackState call.
    This is the only tracking call that increments page views.
    • Here is the syntax for this method:
      + (void)  trackState:(NSString  *)state
                      data:(NSDictionary  *)data;
      
      
    • Here is the code sample for this method:
      [ADBMobile  trackState:@"loginScreen"
                        data:nil]; 
      
      
  • trackAction:​data:
    Tracks an action in your app. Actions that you want to measure, such as logons , banner taps , feed subscriptions , and other metrics, occur in your app.
    If you have code that might run while the app is in the background (for example, a background data retrieval), use trackActionFromBackground instead.
    • Here is the syntax for this method:
      +  (void)  trackAction:(NSString  *)action
                        data:(NSDictionary  *)data; 
      
      
    • Here is the code sample for this method:
      [ADBMobile  trackAction:@"heroBannerTouched"
                         data:nil]; 
      
      
  • trackingIdentifier
    Retrieves the analytics tracking identifier.
    • Here is the syntax for this method:
      + (NSString *) trackingIdentifier; 
      
      
    • Here is the code sample for this method:
      NSString *trackingId = [ADBMobile trackingIdentifier];
      
      
  • trackActionFromBackground:​data:
    Tracks an action that occurred in the background, which suppresses lifecycle events from firing in certain scenarios.
    This method should only be called in code that runs while your app is in the background.
    • Here is the syntax for this method:
       +  (void)  trackActionFromBackground:(NSString  *)action
                                       data:(NSDictionary  *)data; 
      
      
    • Here is the code sample for this method:
      [ADBMobile  trackActionFromBackground:@"downloadedUpdate"
                                       data:nil];
      
      
  • trackLocation:​data:
    Sends the current x y coordinates. Also uses points of interest that are defined in the ADBMobileConfig.json file to determine if the location provided as a parameter is in any of your POIs. If the current coordinates are in a defined POI, a context data variable is populated and sent with the trackLocation call.
    • Here is the syntax for this method:
      +  (void)  trackLocation:(CLLocation  *)location
                          data:(NSDictionary  *)data; 
      
      
    • Here is the code sample for this method:
      [ADBMobile  trackLocation:userLocation
                           data:nil]; 
      
      
  • trackBeacon:​data:
    Tracks when a users enters proximity of a beacon.
    • Here is the syntax for this method:
      +  (void)  trackLocation:(CLBeacon  *)beacon
                          data:(NSDictionary  *)data;
      
      
    • Here is the code sample for this method:
      [ADBMobile  trackBeacon:beacon
                         data:nil];
      
      
  • trackingClearCurrentBeacon
    Clears beacons data after a user leaves the proximity of the beacon.
    • Here is the syntax for this method:
      + (void) trackingClearCurrentBeacon;
      
      
    • Here is the code sample for this method:
      [ADBMobile trackingClearCurrentBeacon];
      
      
  • trackLifetimeValueIncrease:​data:
    Adds amount to the user's lifetime value.
    • Here is the syntax for this method:
       +  (void)  trackLifetimeValueIncrease:(NSDecimalNumber  *)amount
                                       data:(NSDictionary  *)data; 
      
      
    • Here is the code sample for this method:
      [ADBMobile  trackLifetimeValueIncrease:30
                                         data:nil];
      
      
  • trackTimedActionStart:​data:
    Start a timed action with name action . If you call this method for an action that has already started, the previous timed action is overwritten.
    This call does not send a hit.
    • Here is the syntax for this method:
      +  (void)  trackTimedActionStart:(NSString  *)action
                                  data:(NSDictionary  *)data; 
      
      
    • Here is the code sample for this method:
      [ADBMobile  trackTimedActionStart:@"cartToCheckout"
                                  data:nil]; 
      
      
  • trackTimedActionUpdate:​data:
    Pass in data to update the context data associated with the given action . The data that is passed in is appended to the existing data for the action, and if the same key is already defined for action , overwrites the data.
    This call does not send a hit.
    • Here is the syntax for this method:
       +  (void)  trackTimedActionUpdate:(NSString  *)action
                                    data:(NSDictionary  *)data; 
      
      
    • Here is the code sample for this method:
      [ADBMobile  trackTimedActionUpdate:@"cartToCheckout"
                                    data:@{@"quantity":@"3"}];
      
      
  • trackTimedActionEnd:​logic:
    End a timed action. If you provide block , you will have access to the final time values and be able to manipulate data prior to sending the final hit.
    If you provide block , you must return YES to send a hit. Passing in nil for block sends the final hit.
    • Here is the syntax for this method:
      +  (void)  trackTimedActionEnd:(NSString  *)action
                          logic:(BOOL  (^)  (NSTimeInterval  inAppDuration,
                                                  NSTimeInterval totalDuration,
                                                  NSMutableDictionary *data))block; 
      
      
    • Here is the code sample for this method:
      [ADBMobile  trackTimedActionEnd:@"cartToCheckout"
                    logic:^(NSTimeInterval inApp,
                    NSTimeInterval  total,
                    NSMutableDictionary  *data)  {
                        data[@"price"]  =  @"49.95";
                        return  YES;
                    }];
      
      
  • trackingTimedActionExists
    Returns whether a timed action is in progress.
    • Here is the syntax for this method:
      + (BOOL) trackingTimedActionExists:(NSString *)action;
      
      
    • Here is the code sample for this method:
      BOOL *actionExists = [ADBMobile trackingTimedActionExists];
      
      
  • trackingSendQueuedHits
    Requires SDK 4.1. Regardless of how many hits are currently queued, forces the library to send all hits in the offline queue.
    • Here is the syntax for this method:
      + (void) trackingSendQueuedHits;
      
      
    • Here is the code sample for this method:
      [ADBMobile trackingSendQueuedHits]; 
      
      
  • trackingGetQueueSize
    Retrieves the number of hits currently in the offline queue.
    • Here is the syntax for this method:
       + (NSUInteger) trackingGetQueueSize;
      
      
    • Here is the code sample for this method:
      NSUInteger *queueSize = [ADBMobile trackingGetQueueSize];
      
      
  • trackingClearQueue
    Clears all hits from the offline queue.
    Use caution when clearing the queue manually. This process cannot be reversed.
    • Here is the syntax for this method:
      + (void) trackingClearQueue;
      
      
    • Here is the code sample for this method:
      [ADBMobile trackingClearQueue]; 
      
      
  • trackPushMessageClickThrough
    Tracks a push message click-through.
    This method does not increment page views.
    • Here is the syntax for this method:
      + (void) trackPushMessageClickThrough:(NSDictionary *)userInfo;
      
      
    • Here is the code sample for this method:
      -  (void)application:(UIApplication  *)application  
      didReceiveRemoteNotification:(NSDictionary  *)userInfo  
      fetchCompletionHandler:(void  (^)
      (UIBackgroundFetchResult))completionHandler  {
          // only send the hit if the app is not active
          if (application.applicationState !=  UIApplicationStateActive)  {
              [ADBMobile  trackPushMessageClickThrough:userInfo];
      
          }
          completionHandler(UIBackgroundFetchResultNoData);
      }