0

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

点击事件按预期发送,所有查询参数均已填写。但是,video-view 事件与除 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>

`

4

1 回答 1

0

我查看了amp-analytics variables 文档,我相信此时只有clickvisible事件能够使用data-vars-*属性。

变量作为数据属性


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

  • 可见的
  • 点击

随意在 AMP 项目 GitHub 上打开一个功能请求click,以替换和之外的分析事件的数据变量替换visible。另一种方法可能是将视频 id 作为标准视频分析变量的功能请求,因为几乎所有视频都有一个 ID,至少可以是 URL。

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

于 2018-04-24T18:00:44.610 回答