Как я могу структурировать 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 объект, как показано выше.

Другие вопросы по тегам