Как я могу структурировать amp-Analytics JSON IframeMessage с динамическими значениями?
Я пытаюсь интегрировать аналитику Adobe на странице усилителя. Но параметры, которые я хочу передать, я хочу, чтобы они выбирались динамически с помощью вызова ajax. Я собираю значения с помощью списка усилителей. Ответ Ajax выглядит примерно так:
{
"items": [
{
"user_type": "site_user",
"user_id": "anonymous"
}
]
}
В разделе amp-analytics я пытаюсь прочитать динамические значения user_type и user_id, используя синтаксис фигурных скобок. Мой фрагмент кода выглядит так:
<amp-analytics type="adobeanalytics_nativeConfig">
<script type="application/json">
{
"requests": {
"base": "${base}",
"iframeMessage": "${base}/stats.html?user_type={{user_type}}&user_id={{user_id}}"
},
"vars": {
"host": "${host}"
}
}
</script>
</amp-analytics>
Но вместо получения значений в запросе iframe stats.html тот же самый синтаксис с фигурными скобками сам по себе получает проходы в качестве значений в параметрах запроса. Это то, что я получаю, когда тег amp-analytics определен вне блока amp-list. Когда я помещаю весь блок amp-analytics в блок amp-list, я не вижу инициируемого вызова stats.html. В консоли браузера я получаю следующую ошибку:
Строки запроса не определены. Данные аналитики не будут отправлены с этой страницы. Игнорирование события Строка запроса не найдена: iframeMessage
И то и другое base
а также host
являются переменными JSTL, и они заменяются своими собственными значениями.
Может кто-нибудь, пожалуйста, помогите передать динамические значения для структурирования json iframe?
0 ответов
Для интеграции Adobe Analytics AMP HTML используйте приведенный ниже фрагмент, чтобы передать свой user_id
а также user_type
переменные к вашему stats.html
страница;
<amp-analytics type="adobeanalytics_nativeConfig">
<script type="application/json">
{
"requests": {
"base": "https://${host}",
"iframeMessage": "${base}/stats.html?user_id=${user_id}&user_type=${user_type}"
},
"vars": {
"host": "analytics.example.com",
"user_id": "anonymous",
"user_type": "site_user"
}
}
</script>
</amp-analytics>
Интерполированный ${base}
переменная будет преобразована в базу, определенную вами host
переменная.
В host
переменная должна быть определена как доменное имя, отличное от того, которое обслуживает вашу HTML-страницу AMP; вот где твойstats.html
страница должна быть размещена (как указано в фрагменте, stats.html находится в корне analytics.example.com
доменное имя аналитики).
Ваши пользовательские переменные, как и ваши host
переменная, в равной степени должна быть определена как под vars
объект, как показано выше.