Amp html 带有斜杠的AMP分析源URL

Amp html 带有斜杠的AMP分析源URL,amp-html,amp-analytics,snowplow,Amp Html,Amp Analytics,Snowplow,我在amp页面中使用amp analytics组件来跟踪页面视图。我的请求源(向其发送数据的端点)包含一个正斜杠,如下所示: 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:

我在amp页面中使用
amp analytics
组件来跟踪页面视图。我的请求源(向其发送数据的端点)包含一个正斜杠,如下所示:

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>

{
“vars”:{
“collectorHost”:“request.source.com/endpoint”,
“appId”:“25”
},
“触发器”:{
“trackPageview”:{
“打开”:“可见”,
“请求”:“页面视图”
}
}
}

您看到这种情况的原因是变量是url编码的

您需要创建自定义的雪犁,而不是在amp analytics中使用默认的雪犁实现。复制此配置:

然后使用此文档在配置对象中添加“端点”:

在json配置中,您将得到如下结果:

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