smart-view
Version:
Moq (mobile quality assessment) is a tool used to measure an online ad viewability
35 lines (33 loc) • 942 B
text/typescript
import { IViewAbility } from "./IViewAbility";
declare var mraid: any;
export class MraidAPI implements IViewAbility {
private isReady = false;
constructor() {
if (typeof mraid !== "undefined") {
this.doReadyCheck();
}
}
public isSupported = (cb?: Function): boolean => {
let status = true;
if (this.isReady) {
status = false;
}
if (typeof cb === "function") {
cb(status);
}
return status;
}
public isView = (): boolean => {
return mraid.isViewable();
}
private doReadyCheck = () => {
if (mraid.getState() === "loading") {
mraid.addEventListener("ready", this.mraidIsReady);
} else {
this.isReady = true;
}
}
private mraidIsReady = () => {
mraid.removeEventListener("ready", this.mraidIsReady);
}
}