videojs-analytics
Track Google Analytics events from video.js players
Installation
npm install --save videojs-analytics
The npm installation is preferred, but Bower works, too.
bower install --save videojs-analytics
Usage
To include videojs-analytics on your website or web application, use any of the following methods.
<script>
Tag
This is the simplest case. Get the script in whatever way you prefer and include the plugin after you include video.js, so that the videojs
global is available.
Available options
There are two options you can pass to the plugin. The first is to configure which events you would like to trigger from videojs. This option is an array objects for each event. Each event contains the name of the event triggered by Video.js and a label and action which will be sent to Google Analytics. Choose from the list below:
player.analytics({
events: [
{
name: 'play',
label: 'video play',
action: 'play',
},
{
name: 'pause',
label: 'video pause',
action: 'pause',
},
{
name: 'ended',
label: 'video ended',
action: 'ended',
},
{
name: 'fullscreenchange',
label: {
open: 'video fullscreen open',
exit: 'video fullscreen exit'
},
action: 'fullscreen change',
},
{
name: 'volumechange',
label: 'volume changed',
action: 'volume changed',
},
{
name: 'resize',
label: 'resize',
action: 'resize',
},
{
name: 'error',
label: 'error',
action: 'error',
},
{
name: 'resize',
label: 'resize',
action: 'resize',
},
{
name: 'resolutionchange',
action: 'resolution change',
},
{
name: 'timeupdate',
action: 'time updated',
}
]
})
You can also add your own custom events which are not included in the above list. If you include any custom events the event sent to Google Analytics will be the name of the event.
To configure the default category names for audio and video files use the defaultAudioCategory
defaultVideoCategory
properties when initialising the plugin.
player.analytics({
defaultAudioCategory: 'Audio',
defaultVideoCategory: 'Video'
})
Browserify
When using with Browserify, install videojs-analytics via npm and require
the plugin as you would any other module.
var videojs = ; // The actual plugin function is exported by this module, but it is also// attached to the `Player.prototype`; so, there is no need to assign it// to a variable.; var player = ; player;
RequireJS/AMD
When using with RequireJS (or another AMD library), get the script in whatever way you prefer and require
the plugin as you normally would:
;
License
MIT. Copyright (c) Adam Oliver <mail@adamoliver.net>