aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/js/defaults.js5
-rw-r--r--src/js/plugins/ads.js20
-rw-r--r--src/js/plugins/youtube.js4
-rw-r--r--src/js/plyr.js5
4 files changed, 27 insertions, 7 deletions
diff --git a/src/js/defaults.js b/src/js/defaults.js
index 655e6d95..b0ccc116 100644
--- a/src/js/defaults.js
+++ b/src/js/defaults.js
@@ -363,9 +363,10 @@ const defaults = {
google: null,
},
- // Ads
+ // Advertisements plugin
+ // Tag is not required as publisher is determined by vi.ai using the domain
ads: {
- tag: null,
+ enabled: false,
},
};
diff --git a/src/js/plugins/ads.js b/src/js/plugins/ads.js
index 1028d73e..a71336bb 100644
--- a/src/js/plugins/ads.js
+++ b/src/js/plugins/ads.js
@@ -8,6 +8,22 @@
import utils from '../utils';
+// Build the default tag URL
+const getTagUrl = () => {
+ const params = {
+ AV_PUBLISHERID: '58c25bb0073ef448b1087ad6',
+ AV_CHANNELID: '5a0458dc28a06145e4519d21',
+ AV_URL: '127.0.0.1:3000',
+ cb: 1,
+ AV_WIDTH: 640,
+ AV_HEIGHT: 480,
+ };
+
+ const base = 'https://go.aniview.com/api/adserver6/vast/';
+
+ return `${base}?${utils.buildUrlParams(params)}`;
+};
+
class Ads {
/**
* Ads constructor.
@@ -16,9 +32,9 @@ class Ads {
*/
constructor(player) {
this.player = player;
+ this.enabled = player.config.ads.enabled;
this.playing = false;
this.initialized = false;
- this.enabled = utils.is.url(player.config.ads.tag);
// Check if a tag URL is provided.
if (!this.enabled) {
@@ -122,7 +138,7 @@ class Ads {
// Request video ads
const request = new google.ima.AdsRequest();
- request.adTagUrl = this.player.config.ads.tag;
+ request.adTagUrl = getTagUrl();
// Specify the linear and nonlinear slot sizes. This helps the SDK
// to select the correct creative if multiple are returned
diff --git a/src/js/plugins/youtube.js b/src/js/plugins/youtube.js
index bec342a7..429e9eb8 100644
--- a/src/js/plugins/youtube.js
+++ b/src/js/plugins/youtube.js
@@ -108,8 +108,8 @@ const youtube = {
playsinline: 1, // Allow iOS inline playback
// Tracking for stats
- origin: window && window.location.hostname,
- widget_referrer: window && window.location.href,
+ // origin: window ? `${window.location.protocol}//${window.location.host}` : null,
+ widget_referrer: window ? window.location.href : null,
// Captions are flaky on YouTube
cc_load_policy: player.captions.active ? 1 : 0,
diff --git a/src/js/plyr.js b/src/js/plyr.js
index dbc26fff..613cd0d2 100644
--- a/src/js/plyr.js
+++ b/src/js/plyr.js
@@ -309,11 +309,14 @@ class Plyr {
* Play the media, or play the advertisement
*/
play() {
+ // Play the ad if setup
+ // TODO: Fix the occasional play of the video before the Ad fires?
if (this.ads.enabled && !this.ads.initialized) {
this.ads.play();
}
- this.media.play();
+ // Return the promise (for HTML5)
+ return this.media.play();
}
/**