UNI-APP 小程序激励广告

该代码片段展示了在微信小程序中如何创建和管理RewardedVideoAd,包括onLoad、onError和onClose事件处理,以及广告加载失败时的重试机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法一

<template>
	<view>
		<button @click="elan()">看广告</button>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				videoAd: null, // 激励视频广告实例
			}
		},
		onLoad() {
			// #ifdef MP-WEIXIN
			if (wx.createRewardedVideoAd) {
				this.videoAd = wx.createRewardedVideoAd({
					adUnitId: 'adunit-111111111111' // 替换为你的微信小程序广告单元ID
				});

				this.videoAd.onLoad(() => {
					console.log('激励视频广告加载成功');
					// 可以在这里显示加载成功的提示给用户
				});

				this.videoAd.onError((err) => {
					console.error('激励视频广告加载失败', err);
					// 可以在这里显示加载失败的提示给用户
				});

				this.videoAd.onClose((res) => {
					console.log('激励视频广告关闭', res);

					if (res.isEnded) {
						uni.showToast({
							icon: 'none',
							title: ' 任务完成 '
						})

						this.jihui(1);

					} else {
						uni.showToast({
							icon: 'none',
							title: ' 请完整看完广告 '
						})
					}

					// 可以在这里处理用户看完广告后的逻辑,比如给用户奖励
				});

				// 尝试预加载广告(可选)
				this.videoAd.load().catch((err) => {
					console.error('激励视频广告预加载失败', err);
				});
			} else {
				console.error('当前微信版本不支持激励视频广告');
			}
			// #endif
		},
		methods: {
			// 点击时间
			elan() {
				// #ifdef MP-WEIXIN
				if (this.videoAd) {
					this.videoAd.show().catch(() => {
						// 如果广告未准备好,可以稍后再试或者给用户提示
						uni.showToast({
							title: '广告未准备好,请稍后再试',
							icon: 'none'
						});

					});
				} else {
					console.error('激励视频广告实例未初始化');
				}
				// #endif
			},
		}
	}
</script>

<style>

</style>

方法二

// 点击事件		
adv() {
    let ad = null;
    if (wx.createRewardedVideoAd) {
        ad = wx.createRewardedVideoAd({
        adUnitId:''
    })
    ad.onLoad(() => {
       console.log('onLoad')
    })
    ad.onError((err) => {
        console.log('onError')
    })

    ad.onClose((res) => {
        if (res && res.isEnded) {
            console.log('用户看完了---关闭窗口继续播放电影')

        } else {
            console.log('没看完就关闭了')
        }
    })}

    if (ad) {
        ad.show().catch(() => {
        // 失败重试
        ad.load().then(() => ad.show().catch(err => {
								uni.hideLoading();
        })
        })
    }

},

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值