如何在放大器页面上发送视频事件的变量

时间:2018-04-16 13:37:39

标签: amp-html amp-analytics

假设我有几个<amp-video>元素并且我想发送触发器video-play [https://github.com/ampproject/amphtml/blob/master/extensions/amp-analytics/amp-video-analytics.md]的玩家事件,并且我想将数据变量作为查询参数发送给房屋分析。

按预期发送click事件,并填写所有查询参数。 但是,视频视图事件与除video_id之外的所有查询参数一起发送。

有什么建议吗?

例如: `

<amp-video class="myVideo" autoplay loop width="640" height="360" layout="responsive" data-vars-video-id="123456" poster="...">
      <source src="....mp4" type="video/mp4" />
      <div fallback>
        <amp-img src="...jpg" width="16" height="9" layout="responsive"></amp-img>
      </div>
    </amp-video>
...
<amp-analytics>
    <script type="application/json">
      {
        "requests": {
          "event":  "https://counter.exmple.io/_track?event=${eventType}&url=${canonicalUrl}&user=CLIENT_ID(ampCid)&video_id=${videoId}"
        },
        "triggers": {
          "minVideoPlay": {
            "on": "video-play",
            "selector": ".myVideo",
            "request": "event",
            "vars": {
              "eventType": "video-view"
            }
          },
          "minClick": {
            "on": "click",
            "selector": ".myVideo",
            "request": "event",
            "vars": {
              "eventType": "click"
            }
          }
        },
        "transport": {
            "beacon": true,
            "xhrpost": true
        }
      }
    </script>
  </amp-analytics>

`

1 个答案:

答案 0 :(得分:0)

我查看了amp-analytics variables docs,我认为此时只有clickvisible个事件可以使用data-vars-*个属性。

  

变量作为数据属性

           

对于以下事件类型,变量可以作为元素级数据属性的一部分传递

     
      
  • 可见
  •   
  • 点击
  •   

在AMP Project GitHub上免费to open a feature request,以便对clickvisible以外的分析事件进行数据变量替换。另一种方法可能是视频ID作为标准视频分析变量的功能请求,因为几乎所有视频都有ID,至少可以是URL。

作为现在的解决方法,您可以为页面上的每个视频ID创建单独的视频分析触发器,并在vars块中手动指定ID。