我们正在尝试即时调整“ 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广告素材中,我们尝试使用:
window.context.requestResize :但是window.context是未定义的!如果有人知道要获得可用的 window.context 缺少什么,那可能会解决我们的问题!
postMessage ,但它不起作用
window.parent.postMessage({
sentinel: 'amp',
type: 'embed-size',
width: 300,
height: 250}, '*');
答案 0 :(得分:0)
检查您是否没有在SafeFrame中投放广告,请尝试将其关闭。
另外,据我所知,DFP广告管理系统仅会在iframe中呈现广告,因此您应该参考window.parent.context.requestResize
,而不是window.context.requestResize
-您的代码在此处运行,并且该框架没有{{ 1}}。但是,它是父框架,因为它是实际的amp-ad框架。