【问题标题】:iframe within <amp-ad> tag is not resized<amp-ad> 标记内的 iframe 未调整大小
【发布时间】:2020-02-20 20:57:14
【问题描述】:

我们正在尝试即时调整“amp-ad”的大小,但包含广告的 iframe 显示为 1x1 而不是 300x250

我们确实将“amp-ad”与“generic”广告素材结合使用(设置为 1x1,如本文所述 http://prebid.org/overview/how-to-simplify-line-item-setup.html),但尽管 amp-ad 的高度和宽度为“300x250”,但广告仍以 1x1 呈现!

<!doctype html>
<html ⚡ lang="en">
<head>
  <meta charset="utf-8">
  <title>AMP Ads</title>
  <link rel="canonical" href="https://www.toto.com/solar.html"/>
  <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
  <script async src="https://cdn.ampproject.org/v0.js"></script>
  <script  custom-element="amp-ad" src="https://cdn.ampproject.org/v0/amp-ad-latest.js"></script>
  <script async custom-element="amp-iframe" src="https://cdn.ampproject.org/v0/amp-iframe-latest.js"></script>
  <script async custom-element="amp-sticky-ad" src="https://cdn.ampproject.org/v0/amp-sticky-ad-latest.js"></script>
  <script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>
</head>
<body style="padding:10px">


     <amp-ad width="300" height="250"
              type="doubleclick"
              data-slot="my-data-slot"
              rtc-config='{
  "vendors": {
  "my-vendor": {"additional-infos":"111"}
  }, "timeoutMillis": 999}'
              json='{"targeting":{"test": "test"}}'
      >
        <div placeholder><div style="text-align: center; font-size: smaller; color: gray;">No ads for the moment....</div></div>
      </amp-ad>


<amp-sticky-ad layout="nodisplay">
  <amp-ad width="320" height="50"
          type="doubleclick"
              data-slot="my-data-slot"
              rtc-config='{
  "vendors": {
  "my-vendor": {"additional-infos":"111"}
  }, "timeoutMillis": 999}'
          json='{"targeting":{"test": "test"}}'
  >
    <div placeholder><div style="text-align: center; font-size: smaller; color: gray;">No ads for the moment....</div></div>
  </amp-ad>
</amp-sticky-ad>

我们在 DFP 中的广告素材设置为 1x1 尺寸,但与 300x250 的订单项相关联

我们确实也使用了 amp-embed 而不是 amp-ad,并且广告已成功调整为 300x250 的大小! 我们知道 amp-adamp-embed 只是同一事物的别名,但看起来两者的行为不同!

很遗憾,amp-embed 在 amp-sticky 中不起作用,因此我们需要使用 amp-ad 标签来调整广告的大小。

在 DFP 广告素材中,我们尝试使用:

  1. window.context.requestResize:但是 window.context 是未定义的!如果有人知道获得工作 window.context 缺少什么,那可能会解决我们的问题!

  2. postMessage 但它不起作用

  window.parent.postMessage({
    sentinel: 'amp',
    type: 'embed-size',
    width: 300,
    height: 250}, '*');

【问题讨论】:

    标签: amp-html double-click google-dfp google-ad-manager amp-ad


    【解决方案1】:

    检查您是否没有在 SafeFrame 中投放广告素材,请尝试将其关闭。

    此外,据我所知,您可能应该参考 window.parent.context.requestResize,而不是 window.context.requestResize,因为 DFP 只会在 iframe 中呈现广告素材 - 您的代码在那里运行,而该框架没有 window.context。但是,它的父框架应该有它,因为它是实际的 amp-ad 框架。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-14
      • 2014-10-04
      • 1970-01-01
      相关资源
      最近更新 更多