我正在尝试将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>
但是,不是获取stats.html iframe请求中的值,而是使用花括号本身的相同语法将获取传递作为查询参数中的值。当放大器分析标签在放大器列表块之外定义时,这就是我得到的结果。 当我将整个放大器分析块放在amp-list块中时,我没有看到stats.html调用被触发。在浏览器控制台中,我收到以下错误:
未定义请求字符串。不会从此发送Google Analytics数据 页。忽略事件。找不到请求字符串:iframeMessage
base
和host
都是jstl变量,它们将被替换为正确的值。
任何人都可以帮助传递动态值以构建json iframe吗?
答案 0 :(得分:0)
对于Adobe Analytics AMP HTML集成,请使用下面的代码片段将<Swiper
key={item.length}
style={styles.slide1}
loadMinimal={true} // only loads the current page + [loadMinimalSize] amount of pages before and after
loadMinimalSize={0}
loadMinimalLoader={() => (
<View>
<Text>Loading</Text>
</View>
)} // optional loader to show while page loads
>
{swiperItems}
</Swiper>
和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
变量必须定义为除用于AMP HTML页面的域名以外的其他域名;这就是您必须托管host
页的地方(如摘要中所共享,stats.html位于stats.html
分析域名的根目录下。)
您的自定义变量就像您的analytics.example.com
变量一样,也需要像上面的host
对象下一样进行定义。