Cocos Creator微信小游戏添加视频广告

本文介绍如何在微信中加载视频广告及实现播放完成的回调功能。通过编写Common.js文件和利用微信API,可以顺利创建视频广告并在播放结束后执行特定操作。

视频广告的添加可以先参考一下微信视频广告api
和创建banner广告一样。我们先写一个Common.js,

export = {
    videoBar_1: null,
    videoBar2 : null,
}

然后创建广告

var comm = require("./Common");
if(comm.videoBar_1 == null){
                comm.videoBar_1 = wx.createRewardedVideoAd({
                    adUnitId: '*****************************'//填上你的广告位id
                });
                comm.videoBar_1.onError(function(res){
                    console.log("video_1",res);
                })
                comm.videoBar_1.onLoad(() => {
                    console.log('复活激励视频 广告加载成功')
                })
            }

接下来我们需要了解一件事情,微信的视频广告只要是在你需要的地方写上代码加载,实际上不需要考虑他的分辨率,因为他是一个全屏的广告并且右上角有个退出按钮,而且不会和微信分享一样不能获得回调函数,微信视频广告是可以判断是否播放完成的。

所以他的加载方法是和微信官方api上写的是一样的

if (CC_WECHATGAME) {
                comm.videoBar_1.load()
                .then(() => comm.videoBar_1.show())
                .catch(err => console.log(err.errMsg));
           }

选择一个按钮然后绑定到这个方法,就可以点击之后播放广告了,并且不会有太大的延迟,如果是直接在同一页面创建并加载的话会使得广告会加载不出来或者重复加载的情况。

然后是他的回调判断,依旧是和广告一样,写在onload里面会好一点

            comm.videoBar_1.onClose(res => {
                console.log('第一个视频回调')
                if (res && res.isEnded || res === undefined) {
                    console.log("视频回调成功");
                } else {
                    console.log("复活视频回调失败");
                }
            })

正常来说,这样写完就结束了,但是实际上还是有个隐藏的问题。例如我们按照这样创建了两个或者三个广告位,都是用这种写法的话res将会重复,你看了第一个视频会执行其他几个视频回调的方法,因为已经存在了res,那么这种时候要怎么办呢

这个视频广告的onClose()是一个监听函数,能判断广告播放完或者广告播放完成点击关闭广告所进行的事件,一般而言,对于这种情况最好的解决方案也就是在onClose()里面加上tag的判断方法,然后根据每一个按钮根据不同的标识符来判断或者给回调成功后的方法加一个if判断标识符就可以了

关于标识符的写法参考之前我写的banner广告

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值