1

我们正在尝试动态调整“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-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}, '*');
4

1 回答 1

0

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

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

于 2020-09-17T10:20:58.670 回答