Files
Cocos3.8.5/assets/script/ads/AdManager_H5.ts
ZhouXiao 487c68994d feat: add builder configuration file
feat: add cocos-service configuration file
feat: add device configuration file
feat: add engine configuration file
feat: add information configuration file
feat: add program configuration file
feat: add project configuration file
feat: add TypeScript configuration file
2025-12-22 11:42:51 +08:00

63 lines
1.6 KiB
TypeScript

export class AdManager_H5 {
/** 单例模式 */
private static _instance: AdManager_H5 = new AdManager_H5();
private constructor() { }
public static get _ins() {
return this._instance;
}
private videoBack:() => void | null; //视频广告完成回调
private errorBack:() => void | null; //视频广告失败回调
/** 播放插屏广告 */
public showIntersAd(){
adBreak({
type: 'next',
name: 'restart-game'
});
}
/** 播放视频广告 */
public showVideoAd( finishBack?:() => void,errorBack?:() => void ){
this.videoBack = null;
this.errorBack = null;
if(finishBack){
this.videoBack = finishBack;
}if(errorBack){
this.errorBack = errorBack;
}
adBreak({
type: 'reward',
name: 'dasdf',
beforeReward: (showAdFn: any) => {
showAdFn();
},
adDismissed: () => {
this.errorVideo();
},
adViewed: () => {
this.finishVideo();
},
adBreakDone: (placementInfo: any) => {
// this.finishVideo();
},
});
}
/** 视频播放完成 */
finishVideo(){
if(this.videoBack){
this.videoBack();
}
this.videoBack = null;
this.errorBack = null;
}
/** 视频播放失败 */
errorVideo(){
if(this.errorBack){
this.errorBack();
}
this.videoBack = null;
this.errorBack = null;
}
}