iframe в теге <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-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 ответов
Проверьте, не показываете ли вы свои креативы в SafeFrame, попробуйте отключить его.
Кроме того, вам, вероятно, следует обратиться к
window.parent.context.requestResize
не
window.context.requestResize
, насколько мне известно, DFP будет отображать объявления только в iframe - ваш код работает там, а в этом фрейме нет
window.context
. Однако он должен быть в родительском фрейме, потому что это фактический фрейм amp-ad.