解决在广告之间出现 main:play 的问题

问题

在一些广告跟踪方案中,您可能会遇到在一个广告结束与另一个广告开始之间意外发生 main:play 调用的情况。如果广告完成调用与下一个广告开始调用之间的延迟超过 250 毫秒,则 Media SDK 将回退到发送 main:play 调用。如果这种回退到 main:play 的情况发生在前置广告时间,则内容开始量度可能会提前引入。

对于如上所述的广告空白,由于它与任何广告内容均不存在重叠,因此 Media SDK 会将其解读为主内容。Media SDK 上未引入任何广告信息,并且播放器处于播放状态。如果没有广告信息并且播放器处于播放状态,那么 Media SDK 会默认将出现的空白时长计入主内容的时长。VA SDK 不能将该播放时长计为无广告信息的时长。

识别

在使用 Adobe Debug 或网络数据包探查器(例如 Charles)时,如果您在前置广告时间看到按此顺序出现的以下心率调用:

  • 会话开始:s:event:type=starts:asset:type=main

  • 广告开始:s:event:type=starts:asset:type=ad

  • 广告播放:s:event:type=plays:asset:type=ad

  • 广告结束:s:event:type=completes:asset:type=ad

  • 主内容播放:s:event:type=plays:asset:type=main(意外)

  • 广告开始:s:event:type=starts:asset:type=ad

  • 广告播放:s:event:type=plays:asset:type=ad

  • 广告结束:s:event:type=completes:asset:type=ad

  • 主内容播放:s:event:type=plays:asset:type=main(预期)

解决办法

延迟触发广告完成调用。

在播放器内部处理此空白:延迟为第一个广告调用 trackEvent:AdComplete,然后紧接着为第二个广告调用 trackEvent:AdStart。当第一个广告完成后,应用程序应延迟调用 AdComplete 事件。请确保在广告时间为上一个广告调用 trackEvent:AdComplete。如果播放器能识别出当前的广告资产是广告时间的最后一个广告,则可立即调用 trackEvent:AdComplete。此解决办法将导致计入前一个广告单元的广告用时额外多出,多出的时间不会超过 1 秒。

在广告时间(包括前置广告)开始时:

  • 为广告时间创建 adBreak 对象实例;例如,adBreakObject

  • 调用 trackEvent(MediaHeartbeat.Event.AdBreakStart, adBreakObject);

在每个广告资产开始时:

  • 调用trackEvent(MediaHeartbeat.Event.AdComplete);

    注意

    应仅在前一个广告未完成时调用此实例。请考虑使用布尔值维护前一个广告的“isinAd”状态。

  • 为广告资产创建广告对象实例:例如,adObject

  • 填充广告元数据 adCustomMetadata

  • 调用 trackEvent(MediaHeartbeat.Event.AdStart, adObject, adCustomMetadata);

  • 调用 trackPlay()(如果这是前置广告时间的第一个广告)。

在每个广告资产完成时:

  • 请勿进行调用

    注意

    如果应用程序知道该资产是广告时间的最后一个广告,请在此时调用 trackEvent:AdComplete,并在 trackEvent:AdBreakComplete 中跳过设置 trackEvent:AdComplete

在广告跳过时:

  • 调用 trackEvent(MediaHeartbeat.Event.AdSkip);

在广告时间完成时:

  • 调用trackEvent(MediaHeartbeat.Event.AdComplete);

    注意

    如果前面在上一次 trackEvent:AdComplete 调用中已经执行此步骤,那么可以跳过此调用。

  • 调用 trackEvent(MediaHeartbeat.Event.AdBreakComplete);

On this page

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