<amp-ad>广告代码中的iframe不会调整大小

时间:2019-10-24 13:42:22

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

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

我们的确将“ amp-ad”与“通用”广告素材(设置为尺寸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-ad 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}, '*');

1 个答案:

答案 0 :(得分:0)

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

另外,据我所知,DFP广告管理系统仅会在iframe中呈现广告,因此您应该参考window.parent.context.requestResize,而不是window.context.requestResize-您的代码在此处运行,并且该框架没有{{ 1}}。但是,它是父框架,因为它是实际的amp-ad框架。