没有通知视频结束
Google 表示,要让后贴片广告播放,SDK 必须知道内容已经结束。没有这个通知,结尾的插播就不会发生。
1 分钟看懂
你知道电视节目结束后、下一个节目开始前,会播放一些广告吗?后贴片广告(post-roll)在你的网站上就是这样:一个在视频结尾、在同一播放器内播放的视频广告。用户已经看完了想看的内容,广告紧接着出现。Pre 的意思是之前,mid 的意思是中间,post 的意思是之后。
后贴片广告的关键,是告诉播放器视频已经结束。IMA SDK 是 Google 用来在播放器中放置广告的代码包,它不会自己猜到内容已经结束。Google 的指南是这样说的:要让后贴片广告播放,你需要在内容结束时通知 SDK,这样它就会播放结尾的广告插播(如果有预定的话)。这个通知只应在视频结束时发出,绝不能在广告结束时发出,因为 IMA 可能会用同一个播放器来播放广告。就像学校的铃声只在下课时响,而不是在课间休息中间响。
广告间隔可以通过视频广告规则来组织,这是 Google Ad Manager 360 的功能。在规则中,后贴片广告可以开启(启用)、关闭(停用),或交给优先级较低的规则决定(推迟)。使用规则时,响应以 VMAP 返回,它就像电视节目表,说明有哪些广告间隔。不使用规则时,播放器自己可以在视频结束时发出请求,并在标记中说明这是后贴片广告。
什么时候值得使用?当你的网站已经有视频,并且希望多一个不会打断内容开头或中间的广告时机时。任何插播式(In-stream)广告的规则仍然有效:广告位必须正确声明,控制按钮不能被隐藏,同一时间只能有一个可见的播放器自动播放。而且,当所有插播都已播放完毕时,IMA 会用一个专门的事件通知,你可以用它来整理页面。
分步说明
实施示例
<script>
var video = document.getElementById('conteudo');
// Avisa o IMA que o CONTEÚDO acabou (nunca no fim de um anúncio)
var contentEndedListener = function () { adsLoader.contentComplete(); };
video.addEventListener('ended', contentEndedListener);
adsLoader.addEventListener(
google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,
function (e) {
adsManager = e.getAdsManager(video);
adsManager.addEventListener(
google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,
function () {
// anúncio vai tocar: tira o ouvinte de fim do vídeo
video.removeEventListener('ended', contentEndedListener);
video.pause();
});
adsManager.addEventListener(
google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,
function () {
// conteúdo volta: coloca o ouvinte de novo
video.addEventListener('ended', contentEndedListener);
if (!video.ended) { video.play(); }
});
adsManager.addEventListener(
google.ima.AdEvent.Type.ALL_ADS_COMPLETED,
function () { console.log('Todos os intervalos tocaram'); });
});
</script>Google 的建议
提示
注意
Google 表示,要让后贴片广告播放,SDK 必须知道内容已经结束。没有这个通知,结尾的插播就不会发生。
如果在广告于同一播放器中播放期间,视频结束的监听器仍然开启,通知可能会在错误的时间发出。请在暂停时移除监听器,内容恢复时再放回去。
后贴片广告之后,IMA 会请求恢复内容。如果视频已经结束,不要再下令播放,否则它可能在用户没有要求的情况下重新开始。
一个可能的原因是没有告诉 IMA 视频已经结束。Google 要求网站通知内容已结束,这样如果预定了结尾处的广告间隔,SDK 才能播放它。
不一定。使用规则(Ad Manager 360)时,后贴片广告会在 VMAP 中预先安排。没有规则时,播放器可以在视频结束时请求广告,并在标记中带上 vpos=postroll。
不会。它在内容结束后、同一个播放器中播放。
资料库
本页内容均以 Google 官方文档为准。可直接阅读原文:
审核会像访问者一样读取网站,不点击任何内容,并告诉你需要修正什么。