跟踪用户观看视频的时间

Phi*_*enn 8 javascript html5-video

我教一个在线课程,我需要确保我的学生真正观看某个视频.现在,我明白一切都可以被打败,但我正在寻找的是80/20规则,我可以做一些调整,开始我的学生责任之旅.

Q1:如果当前窗口失去焦点,有没有办法通过JavaScript来触发事件?

Q2:视频播放完毕后有没有办法发布活动?

问题3:有没有办法确保视频一直播放,而不是学生点击时间轴的末尾?

我不得不(再次)说,请不要回答这个问题,比如"你在浪费时间,学生会打败你做的任何事".

udn*_*sap 8

你正在使用什么玩家.如果您使用的是JWPlayer或Flow Player等开源视频播放器.您可以跟踪事件.我个人更喜欢使用流媒体播放器,您可以使用谷歌分析来跟踪页面上的持续时间和任何其他任务.

因为您在页面上有一个身份验证机制,您可以获得学生的用户名(或标识符).将事件推送到谷歌分析,并将其作为标签,您可以跟踪学生所做的每一件事,包括他点击的链接,播放时间,播放时...

示例设置

        <script type="text/javascript">

      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', '#########']);
      _gaq.push(['_trackPageview']);
      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);

      })();

    </script>
Run Code Online (Sandbox Code Playgroud)

追踪

_gaq.push(['_trackEvent', 'Videos', 'Play', 'Gone With the Wind']);
Run Code Online (Sandbox Code Playgroud)

这是我从http://vsp.ideawide.com/获取的实时代码的一部分,其中我跟踪了一些这些事件.

var events = {
    clip : {
        onStart: function(clip) {
            _gaq.push(['_trackEvent',"Videos", "Play", defaults.source]);
        },


        onPause: function(clip) {
            _gaq.push(['_trackEvent',"Videos", "Pause", defaults.source, parseInt(this.getTime())]);
        },

        onResume: function(clip) {
            _gaq.push(['_trackEvent',"Videos", "Resume", defaults.source, parseInt(this.getTime())]);
        },

        onSeek: function(clip) {
            _gaq.push(['_trackEvent',"Videos", "Seek", defaults.source ]);
        },

        onStop: function(clip) {
            _gaq.push(['_trackEvent',"Videos", "Stop", defaults.source, parseInt(this.getTime())]);
        },
         onFinish: function(clip) {
            _gaq.push(['_trackEvent',"Videos", "Finish", defaults.source]);
        }
    },
    onFullscreen: function() {
        _gaq.push(['_trackEvent',"Videos", "Full Screen", defaults.source]);
    },
    onError: function(errorCode , errorMessage) {
        _gaq.push(['_trackEvent',"Videos", "Error", defaults.source, errorCode ]);
    }
}
Run Code Online (Sandbox Code Playgroud)

作为最后一个注释,使用适当的播放器正确设置分析,您可以将80/20提高到99/1.