- 为什么我没有获得所有格式的返回广告?
- 良好的 descriptionUrl 是什么样子?
- 为什么我收到了“广告响应未包含有效广告类型”的错误消息?
- 是否提供了可用来测试的 Ad Manager 视频广告代码?
- 我是否应将 adSlotWidth 和 adSlotHeight 的值设为与 Ad Manager 广告代码中 sz 的值相同?
- 演示广告代码看起来很棒,但是当我将其切换为广告代码时,系统不会显示任何广告。
- 我想多次使用同一标记请求广告,但我只会收到第一个请求的广告。如何解决此问题?
- 如何使用 IMA SDK 请求重叠式广告和全幅 AdSense 广告?
- 我在点击广告时收到了“点击后到达网址无效”错误。可能的原因是什么?
- 为什么我看到“VAST 文档为空”错误?
- 我可以更改“跳过广告”框或其他界面元素的尺寸/文字吗?
- HTML5 SDK 是否支持原生视频控件?
- 我在 HTML5 实现中看到“未能对‘HTMLMediaElement’执行‘play’:API 只能通过用户手势启动”。如何解决此问题?
- 如何处理键盘焦点,控制广告点击?
- 为什么有的格式无法返回广告?
-
测试广告代码已设置为始终针对有效请求返回广告。这是为了方便集成,并可让您更轻松地测试播放器如何请求和呈现广告。不过,您的网站、帐号或广告单元并非始终都能以各种格式展示广告。如果您的集成对于测试代码正常运行,但不适用于您自己的代码,则原因可能如下:
- 您向环境投放的视频格式不受支持。例如,您要向 iOS 或 Android 仅投放 HTML5 广告。
- 如果您使用的是 Ad Manager,您的发布商 ID 目前可能没有任何广告定位到此 ID。此外,请确保您已在 Ad Manager 中批准相关广告和广告素材。
- 如果您使用的是 AdSense,您的网站或测试页的定位条件可能没有任何有效的广告。最常见的原因是使用未抓取的专用网站。
- 如果您使用的是 Ad Exchange 广告联盟合作伙伴管理服务,并且“
descriptionURL
”未设置或不在自有或运营的网域管理列表中,则广告不会投放到该列表中。 - 查看 Ad Exchange 视频中定义的 minCPM 阈值。如果每千次展示费用相当高,可能会导致填充率非常低。要解决此问题,请尝试移除 minCPM 或者从广告请求中移除广告单元参数(即广告位名称),以验证这是否会影响填充率。
- 什么样的
descriptionUrl
比较合适? -
为实现最佳效果,
descriptionUrl
所指向的页面内容不应由字词或词组组成,而是由 1-3 个段落实际描述内容和您在提供这些内容过程中的作用。 过去一种成功的方法是从动态变化的块中动态拼接descriptionUrl
网页内容。例如,用几句话介绍网站内容,用几句话介绍您的网站所提供的产品/服务,再添加一些与每个 AdSense 渠道关联的预定义代码段(如“娱乐”或“体育”)。因此,每段内容都有一个与之关联的不同descriptionUrl
,提供常规信息(如类型描述符)以及具体信息(直接内容的内容)。该元数据 HTML 应该非常简单,例如:
<html> <head> <title>Domain.com - Your tag line here!</title> </head> <body> <h1>Descriptions</h1> <h2>About this Content</h2> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. ...</p> <h2>About Domain.com</h2> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. ...</p> </body> </html>
- 为什么我收到了“广告响应未包含有效广告类型”的错误消息?
- 此错误通常是因为在给定的时间段内未有广告定位到特定
publisherId
。这种情况可能在一天中不同时期有所不同,也可能随着广告系列的开始和结束而有几天的时间不同。您应检查您想要定位的广告是否尚未过期,以及广告的定位条件是否正确。 只要可以使用测试publisherId
正确请求、接收和呈现广告,您就可以确保在有广告可用时,使用实际的publisherId
正确处理这些广告。 - 是否提供了可用来测试的 Ad Manager 视频广告代码?
- 代码示例页面上提供了示例代码。
- 是否应将
adSlotWidth
和adSlotHeight
的值设为与 Ad Manager 广告代码中sz
的值相同? - 不一定。
adSlotWidth
和adSlotHeight
必须设为您希望广告填充的播放器或区域的宽度/高度。AdSense 使用它们来确定哪些广告可适应该空间。Ad Manager 广告代码中的sz
键值对是定位参数,不一定会影响投放的广告素材(详见下文)。 - 演示广告代码的显示效果良好,但切换为我的广告代码后,就无法显示任何广告了。
- 检查以确保将某些内容传送到您请求的广告代码。最简单的方法是查看 HTTP 流量。如果 HTML 定位块中返回了 1x1 像素 grey.gif 图片,您需要在 Ad Manager 中检查您的定位条件。
- 我想多次使用同一标记请求广告,但我只会收到第一个请求的广告。如何解决此问题?
-
如果您多次请求广告,则需要让广告服务器知道这些请求是合法请求,而非意外重复。SDK 通过两个快速 API 调用为您执行此操作:
- 对
AdsManager
实例调用destroy()
。这可防止在您对contentComplete()
进行以下调用时播放任何后贴片广告。当您发出下一个请求时,您会获得一个新的AdsManager
。 - 对
AdsLoader
实例调用contentComplete()
。这会重置该 SDK,因此新的广告请求看起来不会与之前的广告请求重复。
AdsLoader
实例调用requestAds()
,获取另一组用于播放新视频的广告。 - 对
- 如何使用 IMA SDK 请求重叠式广告和全幅 AdSense 广告?
-
要使用 SDK 请求 AdSense 广告,您首先需要获取 AdSense 广告代码。如需了解详情,请访问 AdSense 视频广告页面。获取代码后,您需要按照以下步骤发出叠加层或全幅广告请求:
重叠式广告- 在
AdsRequest
中,将 ViewMode 设置为NORMAL
。 - 在您的广告代码中,添加参数
overlay=1
。
- 在
AdsRequest
中,将 ViewMode 设置为FULLSCREEN
。 - 在您的广告代码中,添加参数
overlay=0
。
- 在
- 点击广告时收到了“点击后到达网址无效”错误。可能的原因是什么?
- 此错误最常见的原因是点击后到达网址未正确转义。如果您看到此错误,请检查以确保您的 VAST 响应中的点击后到达网址已正确转义。
- 为什么我会看到“VAST 文档为空”错误?
- 如果广告代码返回空的 VAST 文档,则表示广告未正确投放,就会出现此错误。请与您的客户经理或广告服务器代表联系,了解广告代码无法正常工作的原因。
- 我可以更改跳过广告框或其他界面元素的大小/文字吗?
- IMA SDK 不支持更改界面元素的布局、大小或内容。
如需详细了解界面元素,请参阅
AdsManager.uiElements
。 - HTML5 SDK 是否支持原生视频控件?
- 不可以,HTML5 SDK 不支持原生控件。
- 在我的 HTML5 实现中,看到“Failed to perform 'play' on 'HTMLMediaElement': API can only initing by a user gesible”。如何解决此问题?
-
在移动设备上,必须因用户操作(例如点按)而调用
adDisplayContainer.initialize()
。如果您看到此错误,很可能是在非用户启动的上下文中调用它。请注意,它必须是用户操作的直接结果。例如,如果您通过播放视频来响应“点按”事件,然后使用视频播放器的“播放”事件调用initialize()
,则 SDK 会返回此错误。您必须调用initialize()
作为点按事件本身的结果。 - 如何处理广告点击的键盘焦点?
-
如果您使用播放器控件,则可能会注意到,在点击
adDisplayContainer
后,控件将不再工作。这是因为在用户点击广告后,系统会将键盘焦点切换到 IMA iframe。如需将键盘焦点置于内容播放器上,请使用CLICK
事件将键盘焦点转移回所需的容器。如需了解详情,请参阅以下代码段:adsManager.addEventListener( google.ima.AdEvent.Type.CLICK, function(){ window.focus(); // Or another method to return focus to the desired container. });