现在我们有一个功能。在应用程序中添加谷歌广告。如果已设置Google广告,则显示div
区域。否则,请删除div
区域(不显示广告空间)。但是如何知道谷歌广告已经设定?
我们可以准备Google广告脚本,如下所示:
<script async='async' src='https://www.googletagservices.com/tag/js/gpt.js'></script>
<script>
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
googletag.cmd.push(function() {
googletag.defineSlot('/[ID]/[NAME]', [[WIDTH, HEIGHT]], '[CONTAINER]').addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.pubads().collapseEmptyDivs();
googletag.enableServices();
});
</script>
<div id='[CONTAINER]'>
<script>
googletag.cmd.push(function() { googletag.display('[CONTAINER]'); });
</script>
</div>
如何查看响应数据?
据我所知,谷歌广告设置意味着广告位已被广告填充。如果没有,请改进您的问题。回答你的问题:
看看googletag.events.SlotRenderEndedEvent
将广告代码注入广告位时会触发此事件。此事件将在获取广告素材资源之前发生,因此广告素材可能尚未显示。该事件由呈现插槽的服务触发
在回调中你还将有一个标志,指示槽has been filled or not
isEmpty - 如果没有为插槽返回广告,则为true,否则为false。
虽然你可以通过编程方式完成,但也要仔细看看collapseEmptyDivs(opt_collapseBeforeAdFetch):
是否在获取广告之前折叠广告位。此参数是可选的;如果未提供,则将使用false作为默认值。