aboutsummaryrefslogtreecommitdiffstats
path: root/src/js/plugins/ads.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/js/plugins/ads.js')
-rw-r--r--src/js/plugins/ads.js41
1 files changed, 31 insertions, 10 deletions
diff --git a/src/js/plugins/ads.js b/src/js/plugins/ads.js
index 0059b963..72fd49d8 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,6 +32,7 @@ class Ads {
*/
constructor(player) {
this.player = player;
+ this.enabled = player.config.ads.enabled;
this.playing = false;
this.initialized = false;
this.blocked = false;
@@ -28,14 +45,17 @@ class Ads {
// Check if the Google IMA3 SDK is loaded or load it ourselves
if (!utils.is.object(window.google)) {
- utils.loadScript(player.config.urls.googleIMA.api, () => {
- this.ready();
- }, () => {
-
- // Script failed to load or is blocked
- this.blocked = true;
- this.player.debug.log('Ads error: Google IMA SDK failed to load');
- });
+ utils.loadScript(
+ player.config.urls.googleIMA.api,
+ () => {
+ this.ready();
+ },
+ () => {
+ // Script failed to load or is blocked
+ this.blocked = true;
+ this.player.debug.log('Ads error: Google IMA SDK failed to load');
+ },
+ );
} else {
this.ready();
}
@@ -128,7 +148,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
@@ -161,7 +181,8 @@ class Ads {
const update = () => {
const time = utils.formatTime(this.manager.getRemainingTime());
- this.elements.container.setAttribute('data-badge-text', time);
+ const label = `${this.player.config.i18n.advertisment} - ${time}`;
+ this.elements.container.setAttribute('data-badge-text', label);
};
this.countdownTimer = window.setInterval(update, 100);