【问题标题】:GPT Ads - refresh fails when using lazy loadGPT 广告 - 使用延迟加载时刷新失败
【发布时间】:2018-08-26 15:45:54
【问题描述】:

我正在尝试将新引入的 googletag.PubAdsService.enableLazyLoad 选项用于 DFP 广告。它在初始页面加载期间工作正常,但是当我尝试刷新页面上的广告时,出现以下错误:

排队的 GPT 命令类型错误中的异常:无法读取属性“未观察”的 null 在 Nt (pubads_impl_242.js:1) 在 pubads_impl_242.js:1 在 Object._.y (pubads_impl_242.js:1) 在 Wt (pubads_impl_242.js:1) 在 pubads_impl_242.js:1 在 Vt (pubads_impl_242.js:1) 在 _.V.$a (pubads_impl_242.js:1) 在徐 (pubads_impl_242.js:1) 在 Cv (pubads_impl_242.js:1) 在 wv._.h.refresh (pubads_impl_242.js:1)

这是我的代码:

var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
googletag.slots = googletag.slots || {};
var mapping = googletag.sizeMapping()
  .addSize([0, 0], [1000, 1])
  .addSize([320, 0], [[320, 50], [300, 50]])
  .addSize([1025, 0], [970, 90])
  .build();
googletag.slots["push"] = googletag.defineSlot("/1234/sample/", [[970, 90], [320, 50], [300, 50]], "dfp-ad-banner")
  .addService(googletag.pubads())
  .setTargeting("pos", "banner")
  .defineSizeMapping(mapping);
googletag.cmd.push(function() {
  googletag.pubads().enableAsyncRendering();
  googletag.pubads().collapseEmptyDivs();
  googletag.pubads().disableInitialLoad();
  googletag.pubads().enableLazyLoad({fetchMarginPercent: 200,renderMarginPercent: 100,mobileScaling: 2.0});
});
googletag.enableServices();
...
googletag.cmd.push(function() {
  googletag.display("dfp-ad-banner");
});
...
googletag.cmd.push(function () {
        // add visibility helper classes
        googletag.pubads().addEventListener('slotRenderEnded', function (event) {
          var adClass = (event.size[0] > 1 && event.size[1] > 1) ? 'ad-visible' : 'ad-invisible';
          $('#' + event.slot.getSlotElementId()).addClass(adClass);
        });
        // load ads
        googletag.pubads().refresh(null, {changeCorrelator: false});
      });

【问题讨论】:

  • 我也遇到过同样的情况,refresh()destroy() 导致了这些错误。前提是页面下方有一个广告尚未被提取/渲染

标签: google-dfp gpt


【解决方案1】:

这是因为到目前为止collapseEmptyDivsenableLazyLoad 不兼容。我建议删除collapseEmptyDivs

在此处了解更多信息https://developers.google.com/doubleclick-gpt/reference#googletag.PubAdsService_enableLazyLoad

【讨论】:

    【解决方案2】:

    现在应该修复刷新和销毁的问题。如果您将来遇到此类问题,请考虑从开发人员参考页面发送反馈。 https://developers.google.com/doubleclick-gpt/reference

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-01
      • 2021-01-04
      • 2019-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多