在 iOS 中跟踪广告

重要

以下说明为使用 2.x SDK 进行实施提供了指南。如果您实施的是 1.x 版本的 SDK,可以在此处下载 1.x 开发人员指南:下载 SDK

广告跟踪常量

常量名称 描述
ADBMediaHeartbeatEventAdBreakStart 用于跟踪 AdBreak 开始事件的常量
ADBMediaHeartbeatEventAdBreakComplete 用于跟踪 AdBreak 结束事件的常量
ADBMediaHeartbeatEventAdStart 用于跟踪广告开始事件的常量
ADBMediaHeartbeatEventAdComplete 用于跟踪广告结束事件的常量
ADBMediaHeartbeatEventAdSkip 用于跟踪广告跳过事件的常量

实施步骤

  1. 识别广告时间(包括前置广告)边界开始的时间,然后使用广告时间信息创建 AdBreakObject

    AdBreakObject 引用:

    变量名称 描述 必需
    name 广告时间的名称,例如前置广告、中置广告或后置广告。
    position 内容中广告时间的位置编号,从 1 开始编号。
    startTime 广告时间开始的播放头值。

    广告时间对象创建:

    id adBreakObject = [ADBMediaHeartbeat createAdBreakObjectWithName:[ADBREAK_NAME] 
                                position:[POSITION]  
                                startTime:[START_TIME]];
    
  2. MediaHeartbeat 实例中使用 AdBreakStart 调用 trackEvent(),以开始跟踪广告时间:

    - (void)onAdBreakStart:(NSNotification *)notification { 
        [_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdBreakStart  
                         mediaObject:adBreakObject  
                         data:nil]; 
    }
    
  3. 识别广告的开始时间,然后使用广告信息创建 AdObject 实例。

    AdObject 引用:

    变量名称 描述 必需
    name 广告的友好名称.
    adId 广告的唯一标识符。
    position 广告时间中广告的位置编号,从 1 开始编号。
    length 广告长度

    广告对象创建:

    id adObject = [ADBMediaHeartbeat createAdObjectWithName:[AD_NAME] 
                                     adId:[AD_ID] 
                                     position:[POSITION] 
                                     length:[LENGTH]];
    
  4. (可选)通过上下文数据变量将标准和/或广告元数据附加到媒体跟踪会话。

    • 在 iOS 中实施标准广告元数据

    • 自定义广告元数据 - 对于自定义元数据,请为自定义数据变量创建变量对象,然后使用当前广告的数据进行填充:

      NSMutableDictionary *adDictionary = [[NSMutableDictionary alloc] init]; 
      [adDictionary setObject:@"Sample affiliate" forKey:@"affiliate"]; 
      [adDictionary setObject:@"Sample campaign" forKey:@"campaign"]; 
      [adDictionary setObject:@"Sample creative" forKey:@"creative"];
      
  5. MediaHeartbeat 实例中使用 AdStart 事件调用 trackEvent(),以开始跟踪广告播放。

    在事件调用中添加对自定义元数据变量(或空对象)的引用,以将其作为第三个参数:

    - (void)onAdStart:(NSNotification *)notification { 
        [_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdStart  
                         mediaObject:adObject  
                         data:adDictionary]; 
    }
    
  6. 当广告播放到达广告结尾时,使用 AdComplete 事件调用 trackEvent()

    - (void)onAdComplete:(NSNotification *)notification { 
        [_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdComplete  
                         mediaObject:nil  
                         data:nil]; 
    }
    
  7. 如果由于用户选择跳过广告而使广告播放未能完成,则跟踪 AdSkip 事件。

    - (void)onAdSkip:(NSNotification *)notification { 
        [_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdSkip  
                         mediaObject:nil  
                         data:nil]; 
    }
    
  8. 如果同一个 AdBreak 中存在任何其他广告,请重复执行步骤 3 至 7。

  9. 当广告时间结束时,使用 AdBreakComplete 事件进行跟踪:

    - (void)onAdBreakComplete:(NSNotification *)notification { 
        [_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdBreakComplete  
                         mediaObject:nil  
                         data:nil]; 
    }
    

有关更多信息,请参阅跟踪方案包含前置广告的 VOD 播放

在此页面上

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now