uni-app -- 小程序添加激励视频(字节-抖音小程序)

1. 遇到的问题

1.激励视频广告是由客户端原生渲染,覆盖在整个小程序页面区域之上,目前支持竖屏展示。
2.全局只有一个RewarededVideoAd 实例,重复创建不会覆盖
3.激励视频广告展示的时候用户不能操作小程序
4.开发者工具上暂不支持调试该 API,请直接在真机上进行调试
5. 2.1.0 引入 .show().catch() 捕获不到错误说明

关于上述问题描述,我只掉入了第二个坑、第五个坑。

1.1关于第五个坑,是遇到这样一个报错

在这里插入图片描述
搜索一下搜到了这篇文章:
http://forum.microapp.bytedance.com/mini-app/posts/61cab927a4981ffe87921316

但是于我来说还是没有解决问题。当我尝试换个抖音账号进行观看激励视频时,就直接没有这个问题展示了。第二天我再使用前一天看激励视频报这个错的账号时,也没这个问题了。是不是说看的次数多了,账号就有限制了???

1.2 全局只有一个RewarededVideoAd 实例

关于这个我刚开始并没有看到。我有两个页面需要展示激励视频广告,但是在第二个页面展示时发现关闭激励视频时的回调并没有按照预期中的执行。
后翻阅文档才发现这一句话全局只有一个RewarededVideoAd 实例.然后将该实例提升到了App.vue里进行创建,于是再也没遇到该问题

2.创建RewarededVideoAd 实例

2.1 创建全局唯一实例

App.vue

<script>
	export default {
		onLaunch: function() {
			// 创建激励视频
			this.craeteVideo()
		},
		methods: {
			craeteVideo() {
				let _this = this;
				let rewardedVideoAd = tt.createRewardedVideoAd({
					adUnitId: '写入自己的广告id'
				})

				rewardedVideoAd.onLoad(() => {
					console.log('拉取激励广告成功')
				})
				
				rewardedVideoAd.onError((err) => {
					console.log('拉取激励广告失败')
				})
				
				this.set_video(rewardedVideoAd); // 我将创建好的实例保存在vuex里,以便所有页面获取并使用
				
				rewardedVideoAd.onClose((res) => {
					if (res && res.isEnded) {
						console.log('激励广告全部加载完成')
					} else {
						console.log('激励广告中途强制关闭')
					}
				})
			},
		}
	}
</script>

2.2 需要的页面进行展示

在需要展示激励视频的页面:
***.vue

<script>
	methods:{	
		// 展示激励视频
		showVideo() {
			// 使用vuex里的实例
			if (this.videoAd) {
				this.videoAd.show(() => {
					// 到这里代表激励视频展示成功
				}
			}
		}
	}
</script>


3. 关于1.1遇到的问题

在这里插入图片描述
在这里插入图片描述
所以该种情况,并不是很严重的错误,这是属于正常情况!!!
可根据实际情况予以提示,如:

// ...
rewardedVideoAd.onError((err) => {
	console.log('拉取激励广告失败', err)
	if (err.errCode == 1004) {
		uni.showToast({
			icon: 'none',
			title: '请稍后再试~'
		})
		console.log('正常情况,需要兼容')
	}
})
// ...
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值