api.video Player analytics plugin
api.video is the video infrastructure for product builders. Lightning fast video APIs for integrating, scaling, and managing on-demand & low latency live streaming features in your app.
Project description
Javascript module to manually call the api.video analytics collector.
This is useful if you are using a video player for which we do not yet provide a ready-to-use monitoring module.
If you use one of the following video player, you should rather use the associated packaged monitoring module:
This module is compatible with React Native.
Getting started
Installation
Method #1: requirejs
If you use requirejs you can add the module as a dependency to your project with
$ npm install --save @api.video/player-analytics
You can then use the module in your script:
var { PlayerAnalytics } = require('@api.video/player-analytics');
const playerAnalytics = new PlayerAnalytics({
...options // see below for available options
});
Method #2: typescript
If you use Typescript you can add the SDK as a dependency to your project with
$ npm install --save @api.video/player-analytics
You can then use the SDK in your script:
import { PlayerAnalytics } from '@api.video/player-analytics'
const playerAnalytics = new PlayerAnalytics({
...options // see below for available options
});
Method #3: imple include in a javascript project
Include the SDK in your HTML file like so:
<head>
...
<script src="https://unpkg.com/@api.video/player-analytics" defer></script>
</head>
Then, once the window.onload
event has been trigered, instantiate the module with new PlayerAnalytics()
:
<script type="text/javascript">
var playerAnalytics = new PlayerAnalytics("#target", {
...options // see below for available options
});
</script>
Documentation
Instantiation options
The analytics module constructor takes a PlayerAnalyticsOptions
parameter that contains the following options:
Once the module is instantiated, the following methods have to be called to monitor the playback events.
Module methods
play(): Promise<void>
method to call when the video starts playing for the first time (in the case of a resume after paused, use resume()
)
resume(): Promise<void>
method to call when the video playback is resumed after a pause
ready(): Promise<void>
method to call once the player is ready to play the media
end(): Promise<void>
method to call when the video is ended
seek(from: number, to: number): Promise<void>
method to call when a seek event occurs, the from
and to
parameters are mandatory and should contains the seek start & end times in seconds
pause(): Promise<void>
method to call when the video is paused
destroy(): Promise<void>
method to call when the video player is disposed (eg. when the use closes the navigation tab)
updateTime(time: number): Promise<void>
method to call each time the playback time changes (it should be called often, the accuracy of the collected data depends on it)
Was this page helpful?