封装激励视频-Ad.js

/*
 *在页面中定义激励视频广告
 */
let Ad= null;
let rewarded = {
	//id就是传入的广告位id 
	load(id) {
		if (uni.createRewardedVideoAd) {
			Ad= uni.createRewardedVideoAd({
				adUnitId: id,
				multiton: true // 是否启用多例模式,默认为 false,该参数仅在基础库 2.8.0 或以上的版本支持
			})
			Ad.onLoad(() => {
				console.log('激励视频 广告加载成功');
			})
			Ad.onError((err) => {
				console.log("激励视频 广告加载失败", err)				
			})
			Ad.onClose((res) => {
				if (res && res.isEnded || res === undefined) {
					videoAd.offClose();
				} else { // 播放中途退出,不下发游戏奖励
					console.log("播放中途退出")
				}
			})
		}
	},
	show() {
		if (videoAd) {
			console.log("激励视频 显示中...")
			Ad.show().catch(() => {
				// 失败重试
				Ad.load()
					.then(() => {
						videoAd.show()
					})
					.catch(err => {
						console.log('激励视频 广告显示失败')
					})
			})
		}
	},
	destroy() {
		if (Ad.destroy) {
			Ad.destroy();
			console.log("销毁激励视频实例")
		}
	}
}
 
module.exports = {
	rewarded,
};

调用上面写的方法:

//调用videAd.js 
import Ad from '../../common/Ad.js'
//onLoad加载:
Ad.rewarded.load("激励视频广告id");
//点击事件触发显示激励视频广告:
Ad.rewarded.show(); 
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐