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 空白,在報表中會顯示為 app name app version (build) 。如果在報表中看到此值,請務必在每個 state 呼叫中設定 trackState
    這是唯一會遞增頁面檢視的追蹤呼叫。
    • 以下是此方法的語法:
      + (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);
      }