目前,我正在尝试将Google DFP广告设置为使用动态响应框架。这样,我想创建一个横幅广告,该横幅广告与屏幕尺寸有关,而不是预先定义300x250或300x240之类的尺寸。
DFPBannerView应该能够接受自定义CGRect作为参数,而DFP广告管理系统订单项应采用CGRect的完整大小。
我通过以下技术进行了尝试:
创建一个以智能横幅为主要尺寸的DFP广告单元。这不起作用,因为DFP广告管理系统中的订单项需要固定大小。此外,智能横幅的高度似乎限制为90。
创建一个以页外为主要尺寸的DFP广告管理系统广告单元。我没有在该广告单元上获得展示。
是否可以通过任何方式为移动横幅设置Google DFP广告管理系统,使其采用设置的完整尺寸?
答案 0 :(得分:0)
不确定我是否理解正确,但我想您将必须执行以下操作: https://www.monetizemore.com/blog/how-to-make-dfp-ad-units-responsive-2/
我使用此示例将响应单元添加到我现有的DFP广告管理系统调用中。
请注意,我没有使用“ var useSSL”的顶级脚本。我使用了DFP广告管理系统在创建单元时提供的功能。
我创建了2个广告单元,并为每个单元创建了3种尺寸(728x90、468x60和320x50)。我的广告是Adsense广告,但请确保您可以拨打线路。
毕竟,为了更直接一点,我添加了:
var mapping = googletag.sizeMapping().
addSize([992, 0], [728, 90]).
addSize([768, 0], [468, 60]).
addSize([320, 0], [320, 50]).build();
var mapping2 = googletag.sizeMapping().
addSize([992, 0], [728, 90]).
addSize([768, 0], [468, 60]).
addSize([320, 0], [320, 50]).build();
googletag.defineSlot('/1071122/Your-ads-div-id1', [300, 250], 'div-gpt-ad-123123123-0').defineSizeMapping(mapping).addService(googletag.pubads());
googletag.defineSlot('/1071122/Your-ads-div-id2', [300, 250], 'div-gpt-ad-123123123-0').defineSizeMapping(mapping2).addService(googletag.pubads());
在搜索示例时,我发现了许多棘手的方法。 但真诚地不需要这些。我现在才完成它的工作,这个线程是我寻找示例的“答案”之一。如果可以,则将其添加为书签以提供帮助。 如果可以的话,也许我可以恢复所有代码以使其工作如下:
<!-- Adsense/DFP default header -->
<script type="text/javascript" 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() {
//here you create a var to map your sizes for this unit - mine is equal in addSizes but you can create how many you need and with different sizes you like. First [992, 0] is for resolution and later [728, 90] is the banner size to this resolution (you can put more than one size for each resolution if you like)
var mapping = googletag.sizeMapping().
addSize([992, 0], [728, 90]).
addSize([768, 0], [468, 60]).
addSize([320, 0], [320, 50]).build();
var mapping2 = googletag.sizeMapping().
addSize([992, 0], [728, 90]).
addSize([768, 0], [468, 60]).
addSize([320, 0], [320, 50]).build();
googletag.defineSlot('/1231231/your-ads-div-id-1', [300, 250], 'div-gpt-ad-1231231231231-0').defineSizeMapping(mapping).addService(googletag.pubads());
googletag.defineSlot('/1231231/your-ads-div-id-2', [300, 250], 'div-gpt-ad-1231231231231-0').defineSizeMapping(mapping2).addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.pubads().collapseEmptyDivs();
googletag.enableServices();
});
</script>
就是这样。使用此代码,您可以创建两个自适应广告单元,分别调用3种尺寸和3种不同分辨率的DFP(广告)Adsense横幅。
当然,在HTML中,您必须像这样调用这些DIV:
<!-- /1231231/your-ads-div-id-1 -->
<div id="div-gpt-ad-123123123-0">
<script>
googletag.cmd.push(function() { googletag.display("div-gpt-ad-1231231231231-0"); });
</script>
</div>