Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function loadJwPlayer(adUrl) {
- let currentVideo = '';
- let playStarted = false;
- let past25Percent = false;
- let past50Percent = false;
- let past75Percent = false;
- const setupParams = this.getParams();
- const playerInstance = window.jwplayer(this.containerName);
- playerInstance.setup(setupParams);
- playerInstance.on('beforePlay', function() {
- playerInstance.playAd(adUrl);
- if (currentVideo !== playerInstance.getPlaylistItem().title) {
- currentVideo = playerInstance.getPlaylistItem().title;
- playStarted = false;
- past25Percent = false;
- past50Percent = false;
- past75Percent = false;
- }
- });
- playerInstance.on('adPlay', function() {
- if (window.adInfo) {
- pushVideoEvent({
- event: 'adPlay',
- videoAction: 'adPlay',
- adInfo: window.adInfo,
- });
- }
- });
- playerInstance.on('adComplete', function() {
- if (window.adInfo) {
- pushVideoEvent({
- event: 'adComplete',
- videoAction: 'adComplete',
- adInfo: window.adInfo,
- });
- }
- });
- playerInstance.on('play', function() {
- if (!playStarted) {
- playStarted = true;
- pushVideoEvent({
- event: 'videoStart',
- videoAction: 'videoStart',
- });
- }
- });
- playerInstance.on('complete', function() {
- pushVideoEvent({
- event: 'videoComplete',
- videoAction: 'videoComplete',
- });
- });
- playerInstance.on('error', function(e) {
- if (e && e.message && e.type && e.code) {
- pushVideoEvent({
- event: 'error',
- videoErrorCode: e.code,
- videoErrorMessage: e.message,
- videoErrorType: e.type,
- });
- }
- });
- playerInstance.on('time', function(e) {
- if (e && e.position && e.duration) {
- const percentage = e.position / e.duration;
- let data = {
- event: 'videoInterval',
- videoAction: 'videoInterval',
- videoLength: e.duration,
- };
- if (percentage >= 0.25 && !past25Percent) {
- past25Percent = true;
- data.videoInterval = 25;
- pushVideoEvent(data);
- }
- if (percentage >= 0.5 && !past50Percent) {
- past50Percent = true;
- data.videoInterval = 50;
- pushVideoEvent(data);
- }
- if (percentage >= 0.75 && !past75Percent) {
- past75Percent = true;
- data.videoInterval = 75;
- pushVideoEvent(data);
- }
- }
- });
- function pushVideoEvent(data) {
- if (data) {
- const dataLayer = (window.dataLayer = window.dataLayer || []);
- data.videoPlayer = playerInstance.getConfig().pid;
- data.videoTitle = playerInstance.getPlaylistItem().title.trim();
- data.videoType = playerInstance.getPlaylistItem().sources[0].type;
- data.videoId =
- playerInstance.getPlaylistItem().mediaid ||
- playerInstance.getPlaylistItem().file;
- dataLayer.push(data);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement