DoubleClick for Publishers:指定浏览器和广告尺寸
DoubleClick for publishers: Specify browser and ad dimensions
我正在尝试根据浏览器大小加载横幅。因此,在我有 728x90 横幅的位置,如果它在移动设备上,则会显示 300x250。
问题是,728x90 在桌面上加载。但在移动设备上不显示 300x250。
我尝试按照示例进行操作 here
<script type='text/javascript'>
googletag.cmd.push(function() {
// This mapping will only display ads when user is on desktop sized viewport
var mapLeader = googletag.sizeMapping().
addSize([0, 0], []).
addSize([768, 200], [728, 90]).
build();
// This mapping will only display ads when user is on mobile or tablet sized viewport
var mapLeader2 = googletag.sizeMapping().
addSize([0, 0], []).
addSize([768, 200], []). // Desktop
addSize([300, 200], [300, 250]). // Tablet
build();
window.LeaderSlot= googletag.defineSlot('/XXXXXXX/leaderboard-1', [728, 90], 'div-gpt-ad-1455251022145-0').
defineSizeMapping(mapLeader).
setCollapseEmptyDiv(true).
addService(googletag.pubads());
window.LeaderSlot= googletag.defineSlot('/XXXXXXX/medium-rectangle-1', [300, 250], 'div-gpt-ad-1458546777123-0').
defineSizeMapping(mapLeader2).
setCollapseEmptyDiv(true).
addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.pubads().enableSyncRendering();
// Start ad fetching
googletag.enableServices();
});
</script>
在我的 HTML
<!-- /XXXXXX/leaderboard-1 -->
<div id='div-gpt-ad-1455251022145-0' style='height:90px; width:728px;' class="center">
<script type='text/javascript'>
googletag.cmd.push(function() { googletag.display('div-gpt-ad-1455251022145-0'); });
</script>
</div>
<!-- /XXXXXX/medium-rectangle-1 -->
<div id='div-gpt-ad-1458546777123-0' style='height:250px; width:300px;'>
<script type='text/javascript'>
googletag.cmd.push(function() { googletag.display('div-gpt-ad-1458546777123-0'); });
</script>
</div>
我是否必须将每个尺码的 <div>
放在同一位置?如何加载 300x250 横幅? 728x90 工作正常。我知道我也可以使用 CSS 根据浏览器大小隐藏/显示。但我不想那样做。在同一位置加载多个尺寸会减慢我的网站加载速度。
我真的没有机会保存您提供的示例,所以我创建了一个非常适合我的示例。我会在底部稍微解释一下。
<html>
<head>
<title>Async Responsive</title>
<script async src="http://www.googletagservices.com/tag/js/gpt.js">
</script>
<script>
googletag = window.googletag || {cmd:[]};
googletag.cmd.push(function() {
var sizeMapping = googletag.sizeMapping().
addSize([1024, 768], [970, 250]). // Screens of any size smaller than infinite but bigger than 1024 x 768
addSize([980, 690], [728, 90]). // Screens of any size smaller than 1024x 768 but bigger than 980 x 690
addSize([640, 480], [120, 60]). // Screens of any size smaller than 980 x 690 but bigger than 640 x 480
addSize([0, 0], [88, 31]). // Screens of any size smaller than 640 X 480 but bigger than 0 x 0
build();
googletag.defineSlot(
'/XXXXXX/ad-unit-inside-dfp/level2/level3', [320, 50], 'div-id').
defineSizeMapping(sizeMapping).
addService(googletag.pubads());
googletag.enableServices();
});
</script>
</head>
<body>
<h1>user2636556 Testpage</h1>
<div id="div-id">
<script>
googletag.cmd.push(function() { googletag.display('div-id') });
</script>
</div>
</body>
</html>
首先您必须调用 .sizeMapping() 将广告尺寸映射到浏览器尺寸,然后您需要调用 .defineSizeMapping() 来实现映射。
您为 addSize 指定的第一个维度是屏幕尺寸,每个后续维度都是广告尺寸。比如上面定义的第一个addSize(),[1024, 768]是浏览器尺寸,[970, 250]是广告尺寸。
如果映射有误或由于任何原因无法确定屏幕尺寸,将使用 .defineSlot() 中指定的尺寸。
GPT 自适应广告不会随着浏览器大小的变化而调整大小。您可以添加自己的自定义代码以在调整大小时刷新广告位。
为了这个的功能是这个:
googletag.pubads().refresh();
如果还有什么问题,请告诉我。
您不需要 style='height:90px; width:728px;'
,因为您希望 DFP 根据屏幕尺寸加载适当的横幅广告。
<!-- /XXXXXX/leaderboard-1 -->
<div id='div-gpt-ad-1455251022145-0' style='height:90px; width:728px;' class="center">
<script type='text/javascript'>
googletag.cmd.push(function() { googletag.display('div-gpt-ad-1455251022145-0'); });
</script>
</div>
当您在浏览器上使用不同的屏幕尺寸对其进行测试时,请记住横幅不会自动调整大小。您必须刷新页面才能看到更改。
我正在尝试根据浏览器大小加载横幅。因此,在我有 728x90 横幅的位置,如果它在移动设备上,则会显示 300x250。
问题是,728x90 在桌面上加载。但在移动设备上不显示 300x250。
我尝试按照示例进行操作 here
<script type='text/javascript'>
googletag.cmd.push(function() {
// This mapping will only display ads when user is on desktop sized viewport
var mapLeader = googletag.sizeMapping().
addSize([0, 0], []).
addSize([768, 200], [728, 90]).
build();
// This mapping will only display ads when user is on mobile or tablet sized viewport
var mapLeader2 = googletag.sizeMapping().
addSize([0, 0], []).
addSize([768, 200], []). // Desktop
addSize([300, 200], [300, 250]). // Tablet
build();
window.LeaderSlot= googletag.defineSlot('/XXXXXXX/leaderboard-1', [728, 90], 'div-gpt-ad-1455251022145-0').
defineSizeMapping(mapLeader).
setCollapseEmptyDiv(true).
addService(googletag.pubads());
window.LeaderSlot= googletag.defineSlot('/XXXXXXX/medium-rectangle-1', [300, 250], 'div-gpt-ad-1458546777123-0').
defineSizeMapping(mapLeader2).
setCollapseEmptyDiv(true).
addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.pubads().enableSyncRendering();
// Start ad fetching
googletag.enableServices();
});
</script>
在我的 HTML
<!-- /XXXXXX/leaderboard-1 -->
<div id='div-gpt-ad-1455251022145-0' style='height:90px; width:728px;' class="center">
<script type='text/javascript'>
googletag.cmd.push(function() { googletag.display('div-gpt-ad-1455251022145-0'); });
</script>
</div>
<!-- /XXXXXX/medium-rectangle-1 -->
<div id='div-gpt-ad-1458546777123-0' style='height:250px; width:300px;'>
<script type='text/javascript'>
googletag.cmd.push(function() { googletag.display('div-gpt-ad-1458546777123-0'); });
</script>
</div>
我是否必须将每个尺码的 <div>
放在同一位置?如何加载 300x250 横幅? 728x90 工作正常。我知道我也可以使用 CSS 根据浏览器大小隐藏/显示。但我不想那样做。在同一位置加载多个尺寸会减慢我的网站加载速度。
我真的没有机会保存您提供的示例,所以我创建了一个非常适合我的示例。我会在底部稍微解释一下。
<html>
<head>
<title>Async Responsive</title>
<script async src="http://www.googletagservices.com/tag/js/gpt.js">
</script>
<script>
googletag = window.googletag || {cmd:[]};
googletag.cmd.push(function() {
var sizeMapping = googletag.sizeMapping().
addSize([1024, 768], [970, 250]). // Screens of any size smaller than infinite but bigger than 1024 x 768
addSize([980, 690], [728, 90]). // Screens of any size smaller than 1024x 768 but bigger than 980 x 690
addSize([640, 480], [120, 60]). // Screens of any size smaller than 980 x 690 but bigger than 640 x 480
addSize([0, 0], [88, 31]). // Screens of any size smaller than 640 X 480 but bigger than 0 x 0
build();
googletag.defineSlot(
'/XXXXXX/ad-unit-inside-dfp/level2/level3', [320, 50], 'div-id').
defineSizeMapping(sizeMapping).
addService(googletag.pubads());
googletag.enableServices();
});
</script>
</head>
<body>
<h1>user2636556 Testpage</h1>
<div id="div-id">
<script>
googletag.cmd.push(function() { googletag.display('div-id') });
</script>
</div>
</body>
</html>
首先您必须调用 .sizeMapping() 将广告尺寸映射到浏览器尺寸,然后您需要调用 .defineSizeMapping() 来实现映射。
您为 addSize 指定的第一个维度是屏幕尺寸,每个后续维度都是广告尺寸。比如上面定义的第一个addSize(),[1024, 768]是浏览器尺寸,[970, 250]是广告尺寸。
如果映射有误或由于任何原因无法确定屏幕尺寸,将使用 .defineSlot() 中指定的尺寸。
GPT 自适应广告不会随着浏览器大小的变化而调整大小。您可以添加自己的自定义代码以在调整大小时刷新广告位。
为了这个的功能是这个:
googletag.pubads().refresh();
如果还有什么问题,请告诉我。
您不需要 style='height:90px; width:728px;'
,因为您希望 DFP 根据屏幕尺寸加载适当的横幅广告。
<!-- /XXXXXX/leaderboard-1 -->
<div id='div-gpt-ad-1455251022145-0' style='height:90px; width:728px;' class="center">
<script type='text/javascript'>
googletag.cmd.push(function() { googletag.display('div-gpt-ad-1455251022145-0'); });
</script>
</div>
当您在浏览器上使用不同的屏幕尺寸对其进行测试时,请记住横幅不会自动调整大小。您必须刷新页面才能看到更改。