Проблема setTargeting в рекламном теге издателя Google на странице AMP
Я столкнулся с проблемой <amp-ad>, <amp-list> and <template>
теги. не работают должным образом, и это всегда собирается в аварийное состояние.
Всякий раз, когда я захожу на страницу amp через домен, размещенный в Google ( https://example2.cdn.ampproject.org/amp/page......), Он всегда переходит в резервное состояние.
Но всякий раз, когда я напрямую нажимаю URL страницы amp ( https://example2/amp/page......), все работает нормально.
Я также размещал исходный код, возвращаемый доменом Google локально, и он работает нормально.
Проблема возникает только в том случае, если страница размещена в Google ( https://example2.cdn.ampproject.org/amp/page......)
Не работает: это последний тег, отображаемый как https://example2.cdn.ampproject.org/amp/page.....:
<amp-list class="i-amphtml-layout-fixed i-amphtml-layout-size-defined"
credentials=include height=250 i-amphtml-layout=fixed
src="https://example.com/amp/json.json?n_id=123456&a_id=XXXXXX" style=width:300px;height:250px;
template=adslotXXX width=300>
<div fallback>
<amp-ad class="i-amphtml-layout-fixed i-amphtml-layout-size-defined"
data-loading-strategy=prefer-viewability-over-views data-multi-size=300x250
data-slot=XXXXXXXX
height=250 i-amphtml-layout=fixed
json="{ "targeting":{ "key1":"NL"} }" style=width:300px;height:250px;
type=doubleclick width=300>
</amp-ad>
</div>
</amp-list>
<template id=adslotXXX type=amp-mustache>
<amp-ad data-loading-strategy=prefer-viewability-over-views
data-multi-size=300x250
data-slot=XXXXXXXX
json="{ "targeting":{ "key1":"{{key1}}","key2":"{{key2}}","key3":"{{key3}}","key4":"{{key4}}","key5":"{{key5}}"} }"
type=doubleclick width=300>
</amp-ad>
</template>
-Работа: это тег, отображаемый по прямой ссылке:
<amp-list credentials="include"
template="adslotXXX"
width=300 height=250
src="https://example.com/amp/json.json?n_id=123456&a_id=XXXXXX">
<div fallback>
<amp-ad width=300 height=250
type="doubleclick"
data-multi-size="300x250"
data-loading-strategy="prefer-viewability-over-views"
data-slot="XXXXXXXX"
json='{ "targeting":{ "key1":"NL"} }'>
</amp-ad>
</div>
</amp-list>
<template type="amp-mustache"
id="adslotXXX">
<amp-ad width=300 height=250
type="doubleclick"
data-multi-size="300x250"
data-loading-strategy="prefer-viewability-over-views"
data-slot="XXXXXXXX"
json='{ "targeting":{ "key1":"{{key1}}","key2":"{{key2}}","key3":"{{key3}}","key4":"{{key4}}","key5":"{{key5}}"} }'>
</amp-ad>
</template>
Ответ JSON, возвращаемый https://example.com/amp/json.json?n_id=123456&a_id=XXXXXX:
{"items":[{"key1":"CUSTOMER","key2":"0.6763519771629181","key3":"CUSTOMER","key4":"CUSTOMER","key5":"CUSTOMER"}]}
Заголовок отклика:
access-control-allow-credentials: true
access-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept
access-control-allow-origin: https://example2.cdn.ampproject.org
access-control-expose-headers: AMP-Access-Control-Allow-Source-Origin
alt-svc: clear
amp-access-control-allow-source-origin: https://example2.com
amp-same-origin: true
cache-control: public, max-age=3600
content-length: 117
content-type: application/json; charset=utf-8
date: Thu, 23 May 2019 05:45:43 GMT
etag: W/"75-0ZgbpyV6chgabVY0pHU4IH8Y/eI"
status: 200
via: 1.1 google
x-powered-by: Express
x-response-time: 4.230ms