以下说明为使用 2.x SDK 进行实施提供了指南。如果您实施的是 1.x 版本的 SDK,可以在此处下载 1.x 开发人员指南:下载 SDK。
常量名称 | 描述 |
---|---|
ADBMediaHeartbeatEventAdBreakStart |
用于跟踪 AdBreak 开始事件的常量 |
ADBMediaHeartbeatEventAdBreakComplete |
用于跟踪 AdBreak 结束事件的常量 |
ADBMediaHeartbeatEventAdStart |
用于跟踪广告开始事件的常量 |
ADBMediaHeartbeatEventAdComplete |
用于跟踪广告结束事件的常量 |
ADBMediaHeartbeatEventAdSkip |
用于跟踪广告跳过事件的常量 |
识别广告时间(包括前置广告)边界开始的时间,然后使用广告时间信息创建 AdBreakObject
。
AdBreakObject
引用:
变量名称 | 描述 | 必需 |
---|---|---|
name |
广告时间的名称,例如前置广告、中置广告或后置广告。 | 是 |
position |
内容中广告时间的位置编号,从 1 开始编号。 | 是 |
startTime |
广告时间开始的播放头值。 | 是 |
广告时间对象创建:
id adBreakObject = [ADBMediaHeartbeat createAdBreakObjectWithName:[ADBREAK_NAME]
position:[POSITION]
startTime:[START_TIME]];
在 MediaHeartbeat
实例中使用 AdBreakStart
调用 trackEvent()
,以开始跟踪广告时间:
- (void)onAdBreakStart:(NSNotification *)notification {
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdBreakStart
mediaObject:adBreakObject
data:nil];
}
识别广告的开始时间,然后使用广告信息创建 AdObject
实例。
AdObject
引用:
变量名称 | 描述 | 必需 |
---|---|---|
name |
广告的友好名称. | 是 |
adId |
广告的唯一标识符。 | 是 |
position |
广告时间中广告的位置编号,从 1 开始编号。 | 是 |
length |
广告长度 | 是 |
广告对象创建:
id adObject = [ADBMediaHeartbeat createAdObjectWithName:[AD_NAME]
adId:[AD_ID]
position:[POSITION]
length:[LENGTH]];
(可选)通过上下文数据变量将标准和/或广告元数据附加到媒体跟踪会话。
自定义广告元数据 - 对于自定义元数据,请为自定义数据变量创建变量对象,然后使用当前广告的数据进行填充:
NSMutableDictionary *adDictionary = [[NSMutableDictionary alloc] init];
[adDictionary setObject:@"Sample affiliate" forKey:@"affiliate"];
[adDictionary setObject:@"Sample campaign" forKey:@"campaign"];
[adDictionary setObject:@"Sample creative" forKey:@"creative"];
在 MediaHeartbeat
实例中使用 AdStart
事件调用 trackEvent()
,以开始跟踪广告播放。
在事件调用中添加对自定义元数据变量(或空对象)的引用,以将其作为第三个参数:
- (void)onAdStart:(NSNotification *)notification {
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdStart
mediaObject:adObject
data:adDictionary];
}
当广告播放到达广告结尾时,使用 AdComplete
事件调用 trackEvent()
。
- (void)onAdComplete:(NSNotification *)notification {
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdComplete
mediaObject:nil
data:nil];
}
如果由于用户选择跳过广告而使广告播放未能完成,则跟踪 AdSkip
事件。
- (void)onAdSkip:(NSNotification *)notification {
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdSkip
mediaObject:nil
data:nil];
}
如果同一个 AdBreak
中存在任何其他广告,请重复执行步骤 3 至 7。
当广告时间结束时,使用 AdBreakComplete
事件进行跟踪:
- (void)onAdBreakComplete:(NSNotification *)notification {
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdBreakComplete
mediaObject:nil
data:nil];
}
有关更多信息,请参阅跟踪方案包含前置广告的 VOD 播放。