Источник аналитики AMP с косой чертой в URL

Я использую компонент amp-analytics на странице AMP для отслеживания просмотров страниц. Мой источник запроса (конечная точка для отправки данных) включает косую черту, например:

request.source.com/endpoint

AMP это не нравится и выдает следующую ошибку:

amp-analytics request source must start with "https://" or "//" or be relative and served from either https or from localhost. Invalid value:

https://request.source.com%2Fendpoint/i?url=http%3A%2F%2Fcontent.url.com%3A8079%2Fregular-html-version.html&page=Sample%20document&res=2560x1440&stm=1538590011734&tz=240&aid=25&p=web&tv=amp-0.2&cd=24&cs=UTF-8&duid=amp-CGG5vSIemmau7QUKCzi1yw&lang=en-us&refr=&stm=240&vp=452x1270&e=pv

Обратите внимание, что он закодировал косую черту в URL-адресе до %2F. Я тоже пробовал кодировать это в скрипте. Это не имело значения.

Также обратите внимание, что когда я удаляю косую черту из источника запроса (т.е. просто использую request.source.com), он работает нормально. (Но это требование продукта, чтобы конечная точка содержала косую черту).

Есть мысли о том, как этого добиться? Вот мой код AMP:

<script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>
<amp-analytics type="snowplow" id="snowplow1">
    <script type="application/json">
        {
            "vars": {
                "collectorHost": "request.source.com/endpoint",
                "appId": "25"
            },
            "triggers": {
                "trackPageview": {
                    "on": "visible",
                    "request": "pageView"
                }
            }
        }
    </script>
</amp-analytics>

person Sam    schedule 03.10.2018    source источник


Ответы (1)


Причина, по которой вы это видите, заключается в том, что переменные кодируются по URL-адресу.

Вам нужно будет создать свой собственный вместо использования снегоочистителя по умолчанию в amp-analytics. Скопируйте эту конфигурацию:

Затем используйте эту документацию, чтобы добавить в свою «конечную точку» в объекте конфигурации: https://github.com/ampproject/amphtml/blob/0a84124122b516d33e8f815c4d7205ea92f0865b/extensions/amp-analytics/amp-analytics.md#s-configuration-data

В вашей конфигурации json вы получите что-то вроде этого:

...
'basePrefix': 'https://${collectorHost}/endpoint/i?url=${canonicalUrl}&page=${title}&' +
...
person XTOTHEL    schedule 03.10.2018