You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
920 B
48 lines
920 B
/* typehints:start */
|
|
import { Application } from "../application";
|
|
/* typehints:end */
|
|
|
|
export class AdProviderInterface {
|
|
/** @param {Application} app */
|
|
constructor(app) {
|
|
this.app = app;
|
|
}
|
|
|
|
/**
|
|
* Initializes the storage
|
|
* @returns {Promise<void>}
|
|
*/
|
|
initialize() {
|
|
return Promise.resolve();
|
|
}
|
|
|
|
/**
|
|
* Returns if this provider serves ads at all
|
|
* @returns {boolean}
|
|
* @abstract
|
|
*/
|
|
getHasAds() {
|
|
abstract;
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Returns if it would be possible to show a video ad *now*. This can be false if for
|
|
* example the last video ad is
|
|
* @returns {boolean}
|
|
* @abstract
|
|
*/
|
|
getCanShowVideoAd() {
|
|
abstract;
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Shows an video ad
|
|
* @returns {Promise<void>}
|
|
*/
|
|
showVideoAd() {
|
|
return Promise.resolve();
|
|
}
|
|
}
|