AdManager.ts 2.48 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);
    }
}
export enum ADPoint {
    GAME = 'game',
    RECORD = 'record',
    BOOSTER = 'booster',
    CHALLENGE = 'challenge',
    CHALLENGE_REWARD = 'challenge_reward',
    LEVEL_REWARD = 'level_reward',
    LOGIN_REWARD = 'login_reward',
    REDPACKET = 'redpacket',
    PRIVILEGE = 'privilege',
    RELIVE = 'relive',
    CHALLENGE_RESET = 'challenge_reset',
    BOOSTER_REWARD = 'booster_reward',
    SUPER_REWARD = 'super_reward',
    TIPS = 'tips',
    RESULT = 'result',
    REDPACKET_REWARD = 'redPacket_reward',
}