有人介意查看我的代码,尝试使我的DFP广告具有响应性,因为我的网站都是响应式的?我按照 Google DFP 上的示例进行操作,当我尝试移动屏幕时,广告似乎并没有缩小(并且根本没有显示在真正的移动屏幕上(,下面的代码在我的头文件中。
我很确定我正确地映射了东西。我想知道我是否也必须对我的身体代码进行任何更改,或者我是否必须上传调整尺寸以适应移动屏幕的新广告素材?
<script async='async' src='https://www.googletagservices.com/tag/js/gpt.js'></script>
<script>
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
</script>
<script>
googletag.cmd.push(function() {
var mapping = googletag.sizeMapping().
addSize([992, 0], [[970, 90], [728, 90], [300, 250], [1, 1]]). //desktop
addSize([768, 0], [[300, 250], [728, 90], [1, 1]]). //tablet
addSize([320, 0], [[320, 50], [320, 100], [300, 250], [1, 1]]). //mobile
addSize([0, 0], [[320, 50], [1, 1]]). //other
build();
slot1 = googletag.defineSlot('/316721235/DL-TestAds', [728, 90], 'div-gpt-ad-1496860907063-0').defineSizeMapping(mapping).addService(googletag.pubads());
googletag.pubads().enableAsyncRendering();
googletag.enableServices();
});
</script>
您必须自行检测浏览器窗口大小何时更改,然后通过调用 refresh 触发要重新显示的广告。
侦听 resize 事件以检测浏览器窗口何时更改大小。
window.addEventListener('resize', function (event( { 检查窗口.文档元素.客户端宽度
}
+1 到 BeWarning 的回答:响应式映射是在页面加载时设置的。如果修改了窗口的尺寸,则应重新启动广告位调用,以便 DFP 能够调用正确的广告尺寸。