总的来说,我在网络方面真的很糟糕,但似乎我要研究 AMP :x
虽然我设法使用 amp-analytics 在内部发送数据,但我也在尝试显示“隐私弹出窗口”并让用户选择将它们转发到我们的分析工具。
我实际上尝试了几件事,使用 amp-state 并尝试绑定以通过绑定发送数据。试图覆盖在我的 amp-analytics 中声明的变量(使用 data-vars-name 一次性使用,但不设置任何值)
<amp-analytics id="testlytics">
<script type="application/json">
{
"vars": {
"container_id": "2",
"page_name" : "amp_homepage",
"user_id" : "",
"order_id" : "",
"privacy" : "",
},
"requests": {
"baseURL": "https://baseurl.com/${container_id}/?privacy=${privacy}",
"pageTrack": "${baseURL}&page_name=${page_name}&user_id=${user_id}&order_id=${order_id}",
"eventTrack": "${pageTrack}&scrollY=${scrollTop}&scrollX=${scrollLeft}&height=${availableScreenHeight}&width=${availableScreenWidth}&scrollBoundV=${verticalScrollBoundary}&scrollBoundH=${horizontalScrollBoundary}&eventLabel=${eventlabel}"
},
"triggers": {
"pageview": {
"on": "visible",
"request": "pageTrack",
"vars": {
"type": "page"
}
},
"clickPings": {
"selector": ".events",
"on": "click",
"request": "eventTrack",
"vars": {
"type": "event"
}
}
}
}
</script>
</amp-analytics>
我的测试包括:
<span id="event-test" class="events" data-vars-container_id="3311">
Click here to generate an event
</span>
<span id="event-test" class="events">
Click here to generate an event that doesn't override container_id
</span>
哪种适用于按钮单击等事件,但不能用于为整个导航设置变量等等。
我也尝试过使用:
<amp-state id="privacy_state">
<script type="application/json">
{
"tag_list": "12"
}
</script>
</amp-state>
<amp-user-notification
id="my-notification"
layout="nodisplay">
This is an amp-user-notification. It uses local storage to store the dismissed state.
<button on="tap:AMP.setState({tag_list: '3'})">Change privacy state</button>
<button on="tap:my-notification.dismiss">I accept</button>
</amp-user-notification>
但无论如何,我似乎无法在我的 amp-analytics 中使用 amp-state 中的内容。
有谁知道做到这一点的最佳方法?我应该在本地存储中使用我的弹出窗口写,然后如何读取它并将其发送到我的服务器?
感谢您的帮助 !:)