Mac*_*iek 8 javascript video html5 javascript-events adobe-analytics
我有一个移动Javascript应用程序,偶尔会<video>
在屏幕上动态创建一个元素.我需要跟踪Omniture的视频播放.我已经绑定了play
,pause
和ended
,seeking
以及seeked
用于跟踪用户启动视频,暂停,恢复和停止(或者他们已完成观看视频)的事件.这些都是通过类似的调用实现的
s.Media.play("some_video_name", timePosition);
Run Code Online (Sandbox Code Playgroud)
和
s.Media.stop("some_video_name");
Run Code Online (Sandbox Code Playgroud)
等等.这一切目前都有效.
我现在要做的是使用选项跟踪0,25,75和100%的位置里程碑trackMilestones
,但我不明白我在网上发现的任何示例如何实际告知Omniture s.Media
对象他们在哪里是.Omniture无法神奇地知道我的视频在哪里,除非它将事件处理程序附加到我的视频元素.那是他们在做什么的?
s.Media
当我的播放器播放视频时,是否有一些方法我可以调用该对象来告知它我的位置?
Sha*_*dne -1
我不确定您是否已经找到解决方案。但要跟踪里程碑,您可以在代码的媒体监视器代码中添加以下代码。
var tracked10=false; //Variables used as "flags" to prevent the same code from running
var tracked90=false; //twice in the same video play.
s.Media.monitor = function (s,media) {
//Use this code with either JavaScript or Flash.
// eVar1 = Media Name
// event1 = Video Begins
// event2 = Reached 10%
// event3 = Reached 90%
// event4 = Reached 100%
if (media.event == "Open") { //Executes when the video opens.
s.Media.trackVars = "eVar1,events";
s.Media.trackEvents = "event1";
s.events="event1";
s.eVar1 = media.name;
s.Media.track(media.name);
}
if ((!tracked10) && (media.percent >= 10) { //Executes at 10% complete.
s.Media.trackVars = "eVar1,events";
s.Media.trackEvents = "event2";
s.events="event2"
s.eVar1 = media.name;
s.Media.track(media.name);
tracked10 = true;
}
if ((!tracked90) && (media.percent >= 90)) { //Executes at 90% complete.
s.Media.trackVars = "eVar1,events";
s.Media.trackEvents = "event3";
s.events="event3"
s.eVar1 = media.name;
s.Media.track(media.name);
tracked90 = true;
}
if (media.event == "CLOSE") { //Executes when the video completes.
s.Media.trackVars = "eVar1,events";
s.Media.trackEvents = "event4";
s.events="event4"
s.eVar1 = media.name;
s.Media.track(media.name);
var tracked10=false; //Reset flags values at Media.close if visitors can play
var tracked90=false; //additional videos without reloading the page.
}
};
Run Code Online (Sandbox Code Playgroud)