我正在使用 amp-video-iframe 在 AMP 页面中嵌入视频播放器。父 AMP 页面使用 amp-analytics 将数据发送到 Segment ( https://segment.com/docs/connections/sources/catalog/libraries/mobile/amp/ )。视频播放器正在使用 postAnalyticsEvent 方法成功地将自定义分析事件发送到 amp-analytics,即类似这样的工作:
(window.AmpVideoIframe = window.AmpVideoIframe || [])
.push(function(ampIntegration) {
// post event from `ampIntegration` instance
ampIntegration.postAnalyticsEvent('video-custom-playback-started');
});
我正在尝试使用一些特定于触发事件的视频的附加数据来丰富自定义分析事件。根据文档,我应该能够执行以下操作:
(window.AmpVideoIframe = window.AmpVideoIframe || [])
.push(function(ampIntegration) {
ampIntegration.postAnalyticsEvent('video-custom-playback-started', {'videotitle': 'foo'});
});
我知道我应该能够通过 VIDEO_STATE 访问上面“videotitle”的值,但是我目前无法完成这项工作。我尝试了不同的语法,但到目前为止还没有运气。下面是我在父 AMP 页面上的 amp-analytics 中尝试的示例(其中“ myvideoid ”是 amp-video-iframe 的 id):
"triggers": {
"playStarted": {
"on": "video-custom-playback-started",
"request": "track",
"selector": ":root",
"vars": {
"event": "Video Playback Started"
},
"extraUrlParams": {
"type": "track",
"properties.videotitle": "VIDEO_STATE(myvideoid, custom_videotitle)"
}
}
}
在上面的示例中,尽管我已经调试以确保将值发送到 PostAnalyticsEvent 方法,但我总是收到“properties.videotitle”的空值。如果我将该行切换为“内置”属性之一,它可以正常工作,例如:
"triggers": {
"playStarted": {
"on": "video-custom-playback-started",
"request": "track",
"selector": ":root",
"vars": {
"event": "Video Playback Started"
},
"extraUrlParams": {
"type": "track",
"properties.videotitle": "VIDEO_STATE(myvideoid, height)"
}
}
}
任何建议/指针将不胜感激。
谢谢