首页 > 解决方案 > 在 Google DFP / AdManager iOS 上投放自适应广告的选项

问题描述

目前我正在尝试设置 Google DFP 广告以使用动态响应框架。通过这个,我想创建一个与屏幕尺寸相关的横幅广告,而不是预先定义诸如 300x250 或 300x240 之类的尺寸。

DFPBannerView 应该能够将自定义 CGRect 作为参数,并且 DFP lineitem 应该采用 CGRect 的完整大小。

我通过以下技术进行了尝试:

有什么方法可以为移动横幅设置 Google DFP 以获取设置的完整尺寸?

标签: iosgoogle-dfpdouble-click-advertisinggoogle-ad-manager

解决方案


不确定我是否理解正确,但我想您将不得不这样做: 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>

推荐阅读