Show Menu
主题×

Analytics 方法

以下是 iOS 库提供的 Adobe Analytics 方法列表。
SDK 当前支持多个 Adobe Experience Cloud 解决方案,包括 Analytics、Target、Audience Manager 和 Adobe Experience Platform Identity Service。方法将根据解决方案来添加前缀,Experience Cloud ID 方法的前缀为 track
下面每个方法均可用来将数据发送至 Adobe Analytics 报表包。
  • trackState:data:
    状态是您的应用程序中可用的一些视图,例如 home dashboard app settings cart 等等。这些状态与网站中的页面类似,而且 trackState 调用会使页面查看次数递增。如果 state 为空,它会在报表中显示为“应用程序名称 应用程序版本 (内部版本)”。**​如果您在报表中看到此值,请确保在每个 trackState 调用中设置 state
    只有此跟踪调用会递增页面查看次数。
    • 以下是此方法的语法:
      + (void)  trackState:(NSString  *)state
                      data:(NSDictionary  *)data;
      
      
    • 以下是此方法的代码示例:
      [ADBMobile  trackState:@"loginScreen"
                        data:nil]; 
      
      
  • trackAction:​data:
    跟踪您的应用程序中的操作。例如,您的应用程序中发生的要测量的操作,包括 logons banner taps feed subscriptions 及其他量度。
    如果您的代码可能会在应用程序位于后台时运行(例如,后台数据检索),请改用 trackActionFromBackground
    • 以下是此方法的语法:
      +  (void)  trackAction:(NSString  *)action
                        data:(NSDictionary  *)data; 
      
      
    • 以下是此方法的代码示例:
      [ADBMobile  trackAction:@"heroBannerTouched"
                         data:nil]; 
      
      
  • trackingIdentifier
    检索分析跟踪标识符。
    • 以下是此方法的语法:
      + (NSString *) trackingIdentifier; 
      
      
    • 以下是此方法的代码示例:
      NSString *trackingId = [ADBMobile trackingIdentifier];
      
      
  • trackActionFromBackground:​data:
    跟踪后台发生的操作,此方法在某些情况下会阻止生命周期事件的触发。
    仅应当在应用程序处于后台时运行的代码中调用此方法。
    • 以下是此方法的语法:
       +  (void)  trackActionFromBackground:(NSString  *)action
                                       data:(NSDictionary  *)data; 
      
      
    • 以下是此方法的代码示例:
      [ADBMobile  trackActionFromBackground:@"downloadedUpdate"
                                       data:nil];
      
      
  • trackLocation:​data:
    发送当前的 x y 坐标。此方法还使用 ADBMobileConfig.json 文件中定义的目标点来确定作为参数提供的位置是否位于您的任何 POI 内。如果当前坐标位于定义的 POI 内,则会填充上下文数据变量,并随 trackLocation 调用发送该变量。
    • 以下是此方法的语法:
      +  (void)  trackLocation:(CLLocation  *)location
                          data:(NSDictionary  *)data; 
      
      
    • 以下是此方法的代码示例:
      [ADBMobile  trackLocation:userLocation
                           data:nil]; 
      
      
  • trackBeacon:​data:
    跟踪用户接近信标的时间。
    • 以下是此方法的语法:
      +  (void)  trackLocation:(CLBeacon  *)beacon
                          data:(NSDictionary  *)data;
      
      
    • 以下是此方法的代码示例:
      [ADBMobile  trackBeacon:beacon
                         data:nil];
      
      
  • trackingClearCurrentBeacon
    在用户远离信标后清除信标数据。
    • 以下是此方法的语法:
      + (void) trackingClearCurrentBeacon;
      
      
    • 以下是此方法的代码示例:
      [ADBMobile trackingClearCurrentBeacon];
      
      
  • trackLifetimeValueIncrease:​data:
    向用户的生命周期值中添加 amount
    • 以下是此方法的语法:
       +  (void)  trackLifetimeValueIncrease:(NSDecimalNumber  *)amount
                                       data:(NSDictionary  *)data; 
      
      
    • 以下是此方法的代码示例:
      [ADBMobile  trackLifetimeValueIncrease:30
                                         data:nil];
      
      
  • trackTimedActionStart:​data:
    启动名为 action 的定时操作。如果对已启动的操作调用此方法,则将覆盖上一个定时操作。
    这个调用不发送点击。
    • 以下是此方法的语法:
      +  (void)  trackTimedActionStart:(NSString  *)action
                                  data:(NSDictionary  *)data; 
      
      
    • 以下是此方法的代码示例:
      [ADBMobile  trackTimedActionStart:@"cartToCheckout"
                                  data:nil]; 
      
      
  • trackTimedActionUpdate:​data:
    传入 data ,以更新与给定 action 关联的上下文数据。传入的 data 将附加到操作的现有数据中,如果已经为 action 定义相同的键,则会覆盖数据。
    这个调用不发送点击。
    • 以下是此方法的语法:
       +  (void)  trackTimedActionUpdate:(NSString  *)action
                                    data:(NSDictionary  *)data; 
      
      
    • 以下是此方法的代码示例:
      [ADBMobile  trackTimedActionUpdate:@"cartToCheckout"
                                    data:@{@"quantity":@"3"}];
      
      
  • trackTimedActionEnd:​logic:
    结束定时操作。如果提供 block ,您将可以访问最终时间值,并且还能够在发送最终点击之前处理 data
    如果提供 block ,则必须返回 YES 才能发送点击。为 block 传入 nil 将发送最终点击。
    • 以下是此方法的语法:
      +  (void)  trackTimedActionEnd:(NSString  *)action
                          logic:(BOOL  (^)  (NSTimeInterval  inAppDuration,
                                                  NSTimeInterval totalDuration,
                                                  NSMutableDictionary *data))block; 
      
      
    • 以下是此方法的代码示例:
      [ADBMobile  trackTimedActionEnd:@"cartToCheckout"
                    logic:^(NSTimeInterval inApp,
                    NSTimeInterval  total,
                    NSMutableDictionary  *data)  {
                        data[@"price"]  =  @"49.95";
                        return  YES;
                    }];
      
      
  • trackingTimedActionExists
    返回定时操作是否正在进行中。
    • 以下是此方法的语法:
      + (BOOL) trackingTimedActionExists:(NSString *)action;
      
      
    • 以下是此方法的代码示例:
      BOOL *actionExists = [ADBMobile trackingTimedActionExists];
      
      
  • trackingSendQueuedHits
    需要 SDK 4.1。无论当前有多少点击已排入队列,都强制库发送离线队列中的所有点击。
    • 以下是此方法的语法:
      + (void) trackingSendQueuedHits;
      
      
    • 以下是此方法的代码示例:
      [ADBMobile trackingSendQueuedHits]; 
      
      
  • trackingGetQueueSize
    检索离线队列中的当前点击量。
    • 以下是此方法的语法:
       + (NSUInteger) trackingGetQueueSize;
      
      
    • 以下是此方法的代码示例:
      NSUInteger *queueSize = [ADBMobile trackingGetQueueSize];
      
      
  • trackingClearQueue
    清除离线队列中的所有点击。
    手动清除队列时请务必谨慎。此过程无法撤消。
    • 以下是此方法的语法:
      + (void) trackingClearQueue;
      
      
    • 以下是此方法的代码示例:
      [ADBMobile trackingClearQueue]; 
      
      
  • trackPushMessageClickThrough
    跟踪推送消息点进。
    此方法不会递增页面查看次数。
    • 以下是此方法的语法:
      + (void) trackPushMessageClickThrough:(NSDictionary *)userInfo;
      
      
    • 以下是此方法的代码示例:
      -  (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);
      }