videojs / videojs-contrib-ads

A Tool for Building Video.js Ad Plugins
http://videojs.github.io/videojs-contrib-ads/
Other
381 stars 257 forks source link

adsready event not triggered #490

Open snowiesuet opened 5 years ago

snowiesuet commented 5 years ago

Hello I'm having a similar issue as this. The only difference is I'm currently using VueJs. VIDEOJS: ADS: Received adsready event (BeforePreroll) is never called and my video content plays right away without any ads. There is no error in the console at all.

Heres my code:

import videojs from "video.js";
require("videojs-contrib-ads/dist/videojs-contrib-ads.js");

require("video.js/dist/video-js.css");
require("videojs-contrib-ads/dist/videojs.ads.css");

mounted() {
    this.player = videojs(
      this.$refs.videoPlayer,
      this.options,
      function onPlayerReady() {
        var player = this;
        this.ads({
          playPreroll: true,
          debug: true
        });
        player.on("contentupdate", function() {
          // Never triggered
          console.log("contentupdate");
          player.trigger("adsready");
        });

        player.on("readyforpreroll", function() {
          // Never triggered
          console.log("readyforpreroll");
          player.ads.startLinearAdMode();
          player.src(
            "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"
          );
          player.one("adended", function() {
            console.log("adended");
            player.ads.endLinearAdMode();
          });
        });
        // For logging/debugging purposes
        var evs = [
          "adtimeout",
          "contentplayback",
          "adsready",
          "adstart",
          "adend",
          "adskip",
          "timeupdate"
        ];

        evs.map(function(ev) {
          player.on(ev, function() {
            console.log("[PLAYER LOG]: %s", ev);
          });
        });
      }
    );
  }

Here's my log once I play the video:

VIDEOJS: ADS: Using playMiddleware to block content playback
VIDEOJS: ADS: Play call to Tech was terminated.
VIDEOJS: ADS: Received play event (BeforePreroll)
VIDEOJS: ADS: BeforePreroll -> Preroll
VIDEOJS: ADS: adtimeout (Preroll)
[PLAYER LOG]: adtimeout
VIDEOJS: ADS: Preroll -> ContentPlayback
[PLAYER LOG]: timeupdate

My packages are of the latest versions. Any help would be appreciated. Thank you!