From 0a86ad357feb728876b0b29df91838b110f4dce5 Mon Sep 17 00:00:00 2001 From: Pablo Vazquez Date: Wed, 8 Feb 2017 16:27:52 +0100 Subject: [PATCH] Analytics for videojs --- .../static/assets/js/vendor/videojs-ga-0.4.2.min.js | 6 ++++++ .../nodes/custom/asset/video/view_embed.jade | 12 +++++++++++- src/templates/projects/view.jade | 1 + 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 pillar/web/static/assets/js/vendor/videojs-ga-0.4.2.min.js diff --git a/pillar/web/static/assets/js/vendor/videojs-ga-0.4.2.min.js b/pillar/web/static/assets/js/vendor/videojs-ga-0.4.2.min.js new file mode 100644 index 00000000..b57c7845 --- /dev/null +++ b/pillar/web/static/assets/js/vendor/videojs-ga-0.4.2.min.js @@ -0,0 +1,6 @@ +/* +* videojs-ga - v0.4.2 - 2015-02-06 +* Copyright (c) 2015 Michael Bensoussan +* Licensed MIT +*/ +(function(){var a=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};videojs.plugin("ga",function(b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;return null==b&&(b={}),c={},this.options()["data-setup"]&&(l=JSON.parse(this.options()["data-setup"]),l.ga&&(c=l.ga)),d=["loaded","percentsPlayed","start","end","seek","play","pause","resize","volumeChange","error","fullscreen"],i=b.eventsToTrack||c.eventsToTrack||d,o=b.percentsPlayedInterval||c.percentsPlayedInterval||10,g=b.eventCategory||c.eventCategory||"Video",h=b.eventLabel||c.eventLabel,b.debug=b.debug||!1,n=[],s=r=0,t=!1,k=function(){h||(h=this.currentSrc().split("/").slice(-1)[0].replace(/\.(\w{3,4})(\?.*)?$/i,"")),a.call(i,"loadedmetadata")>=0&&u("loadedmetadata",!0)},v=function(){var b,c,d,e,f;for(b=Math.round(this.currentTime()),c=Math.round(this.duration()),e=Math.round(b/c*100),d=f=0;99>=f;d=f+=o)e>=d&&a.call(n,d)<0&&(a.call(i,"start")>=0&&0===d&&e>0?u("start",!0):a.call(i,"percentsPlayed")>=0&&0!==e&&u("percent played",!0,d),e>0&&n.push(d));a.call(i,"seek")>=0&&(s=r,r=b,Math.abs(s-r)>1&&(t=!0,u("seek start",!1,s),u("seek end",!1,r)))},e=function(){u("end",!0)},p=function(){var a;a=Math.round(this.currentTime()),u("play",!0,a),t=!1},m=function(){var a,b;a=Math.round(this.currentTime()),b=Math.round(this.duration()),a===b||t||u("pause",!1,a)},w=function(){var a;a=this.muted()===!0?0:this.volume(),u("volume change",!1,a)},q=function(){u("resize - "+this.width()+"*"+this.height(),!0)},f=function(){var a;a=Math.round(this.currentTime()),u("error",!0,a)},j=function(){var a;a=Math.round(this.currentTime()),("function"==typeof this.isFullscreen?this.isFullscreen():void 0)||("function"==typeof this.isFullScreen?this.isFullScreen():void 0)?u("enter fullscreen",!1,a):u("exit fullscreen",!1,a)},u=function(a,c,d){window.ga?ga("send","event",{eventCategory:g,eventAction:a,eventLabel:h,eventValue:d,nonInteraction:c}):window._gaq?_gaq.push(["_trackEvent",g,a,h,d,c]):b.debug&&console.log("Google Analytics not detected")},this.ready(function(){return this.on("loadedmetadata",k),this.on("timeupdate",v),a.call(i,"end")>=0&&this.on("ended",e),a.call(i,"play")>=0&&this.on("play",p),a.call(i,"pause")>=0&&this.on("pause",m),a.call(i,"volumeChange")>=0&&this.on("volumechange",w),a.call(i,"resize")>=0&&this.on("resize",q),a.call(i,"error")>=0&&this.on("error",f),a.call(i,"fullscreen")>=0?this.on("fullscreenchange",j):void 0}),{sendbeacon:u}})}).call(this); \ No newline at end of file diff --git a/src/templates/nodes/custom/asset/video/view_embed.jade b/src/templates/nodes/custom/asset/video/view_embed.jade index 41ee8486..16f9d395 100644 --- a/src/templates/nodes/custom/asset/video/view_embed.jade +++ b/src/templates/nodes/custom/asset/video/view_embed.jade @@ -132,7 +132,17 @@ script(type="text/javascript"). {% if node.video_sources %} - videojs(document.getElementById('videoplayer'), { fluid: true }); + videojs(document.getElementById('videoplayer'), { + fluid: true + }, + function(){ + this.ga({ + 'eventLabel' : '{{ node._id }} - {{ node.name }}', + 'eventCategory' : '{{ node.project }}', + 'eventsToTrack' : ['start', 'error', 'percentsPlayed'] + }); + } + ); {% endif %} $(function(){ diff --git a/src/templates/projects/view.jade b/src/templates/projects/view.jade index 8514ff06..88e527c2 100644 --- a/src/templates/projects/view.jade +++ b/src/templates/projects/view.jade @@ -72,6 +72,7 @@ link(rel="amphtml", href="{{ url_for('nodes.view', node_id=node._id, _external=T | {% endif %} script(src="{{ url_for('static_pillar', filename='assets/js/vendor/videojs-5.8.8.min.js', v=6220171) }}") +script(src="{{ url_for('static_pillar', filename='assets/js/vendor/videojs-ga-0.4.2.min.js', v=6220171) }}") | {% endblock %} | {% block css %}