AdManager.ts 2.07 KB
import TTAdSdk from "./TTAdSdk";
import ObjectInstance from "../uitl/ObjectInstance";

export default class AdManager {
    private lastVideoTime: number;

    init() {
        this.preloadRewardAd();
    }

    preloadBanner() {
        TTAdSdk.I.loadBannerExpressAd(1);
    }

    preloadRewardAd() {
        TTAdSdk.I.showRewardVideoAd(1);
    }

    preloadFullAd() {
        TTAdSdk.I.loadFullScreenVideoAd(1);
    }

    preloadInterAd() {
        // TTAdSdk.I.showInteractionExpressAd(1);
    }

    preloadNativeAd(){
        TTAdSdk.I.loadFullScreenVideoAd(1);
    }

    closeAdverDialog() {
        TTAdSdk.I.closeAdverDialog()
    }
    closeAdBanner() {
        TTAdSdk.I.closeAdBanner()
    }

    async showRewardAd() {
        try {
            let ret = await TTAdSdk.I.showRewardVideoAd();
            this.lastVideoTime = Laya.timer.currTimer;
            this.preloadRewardAd();
            return Promise.resolve(ret);
        } catch (e) {
            this.preloadRewardAd();
            return Promise.reject(e);
        }
    }


    async showFullAd() {
        try {
            let ret = await TTAdSdk.I.loadFullScreenVideoAd();
            this.preloadFullAd();
            return Promise.resolve(ret);
        } catch (e) {
            this.preloadFullAd();
            return Promise.reject(e);
        }
    }

    async showInterAd() {
        try {
            let ret = await TTAdSdk.I.showInteractionExpressAd();
            this.preloadInterAd();
            return Promise.resolve(ret);
        } catch (e) {
            this.preloadInterAd();
            return Promise.reject(e);
        }
    }


    checkVideoInCd() {
        return this.lastVideoTime && (Laya.timer.currTimer - this.lastVideoTime <= 30000);
    }

    showBanner() {
        TTAdSdk.I.loadBannerExpressAd();
    }

    
    showNativeAd(x, y, w, h,preload=0) {
        TTAdSdk.I.loadNativeExpressAd(x, y, w, h,preload);
    }



    static get I(): AdManager {
        return ObjectInstance.get(AdManager);
    }
}