您应该使用 DFP 广告管理系统提供的映射功能
以下是一个页面上有 5 个广告单元的示例。
第 1 步:定义每个广告单元的所有可能尺寸。在 DFP 广告管理系统的广告单元设置中定义这些尺寸。
第 2 步:决定哪个广告单元将在哪个视口上使用哪种尺寸。使用变量 megaboardsize、firstsize 等创建尺寸映射,如下面的代码所示。
步骤 3:定义插槽和适当的已定义映射,如下所示。
在示例中,尺寸将在广告单元中投放,如下所示:广告单元 - example-megaboard:在视口宽度超过 970 像素的设备上:970x90、970x250、728x90。在视口宽度超过 728 像素的设备上:728x90。在所有具有较小视口的设备上:320x100,320x50广告单元 - /XXX/example-300x250-1st:在视口宽度超过 920px 的设备上:300x250,300x600。在视口宽度超过 300 像素的设备上:300x250。在所有具有较小视口的设备上:无广告。
等等...
<script async='async' src='https://www.googletagservices.com/tag/js/gpt.js'></script>
<script>
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
</script>
<script>
var gptAdSlots = [];
googletag.cmd.push(function() {
var megaboardsize = googletag.sizeMapping().addSize([970, 0], [[970,90],[970,250],[728,90]]).addSize([728, 0], [728, 90]).addSize([0, 0], [[320, 100],[320,50]]).build();
var firstsize = googletag.sizeMapping().addSize([920, 0], [[300,250],[300,600]]).addSize([300, 0],[300,250]).addSize([0, 0], []).build();
var secondsize = googletag.sizeMapping().addSize([920, 0], [300,250]).addSize([0, 0],[]).build();
var thirdsize = googletag.sizeMapping().addSize([920, 0], [300,250]).build();
var fourthsize = googletag.sizeMapping().addSize([690, 0], [300,250]).addSize([0, 0],[]).build();
gptAdSlots[0] = googletag.defineSlot('/XXX/example-megaboard', [[970, 90], [320, 100], [320, 50], [728, 90], [970, 250]], 'gpt-megaboard').defineSizeMapping(megaboardsize).addService(googletag.pubads());
gptAdSlots[1] = googletag.defineSlot('/XXX/example-300x250-1st', [[300, 600], [300, 250]], 'gpt-1st').defineSizeMapping(firstsize).addService(googletag.pubads());
gptAdSlots[2] = googletag.defineSlot('/XXX/example-300x250-2nd', [300, 250], 'gpt-2nd').defineSizeMapping(secondsize).addService(googletag.pubads());
gptAdSlots[3] = googletag.defineSlot('/XXX/example-300x250-3rd', [300, 250], 'gpt-3rd').defineSizeMapping(thirdsize).addService(googletag.pubads());
gptAdSlots[4] = googletag.defineSlot('/XXX/example-300x250-4th', [300, 250], 'gpt-4th').defineSizeMapping(fourthsize).addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.pubads().collapseEmptyDivs();
googletag.enableServices();
});
</script>