CocosCreator微信小游戏广告接入(banner、激励式视频、插屏)

  • 开启小游戏流量主
    • 开启流量主(访问量>=1000)
  • 创建广告位
    • 微信小游戏平台的广告类型主要分为1:banner广告,2:插屏广告,3:激励视频,4:格子广告以及5:原生模版广告。
      在这里插入图片描述
  • 创建好广告位就开始编写代码
    • 定义几个全局变量,分别为
window.bannerAdv = null;
window.videoAdv = null;
window.interstitialAd = null;
  • 初始化广告组件
    • 这里我直接初始化了3个广告类型(banner,视频,插屏)
		let winSize = wx.getSystemInfoSync();//获取像素size
        // 创建 Banner 广告实例,提前初始化
        let bannerWidth = 300
        let bannerHeight = 80
        bannerAdv = wx.createBannerAd({
            adUnitId: '',//传入自己的id,此处为banner广告位ID
            adIntervals: 30,//定时刷新,最低30S
            style: {
                left: (winSize.windowWidth - bannerWidth) / 2,
                top: winSize.windowHeight - bannerHeight,
                width: bannerWidth,
            },
        })
        //重新定banner位置
        bannerAdv.onResize((res) => {
            bannerAdv.style.top = winSize.windowHeight - bannerAdv.style.realHeight-1;
        })
        // 在适合的场景显示 Banner 广告
        bannerAdv.show();//不建议直接显示
		//拉取失败处理
        bannerAdv.onError((err) => {
            console.log(err);
        })

        // 创建激励视频广告实例,提前初始化
        videoAdv = wx.createRewardedVideoAd({
            adUnitId: ''//传入自己的id,此处为视频广告位ID
        })

        // 创建插屏广告实例,提前初始化
        if (wx.createInterstitialAd) {
            interstitialAd = wx.createInterstitialAd({
                adUnitId: ''//传入自己的id,此处为插屏广告位ID
            })
        }
    },

  • 创建好后,在合适的地方调用
    • banner广告调用
//显示banner
bannerAdv.show()
//隐藏banner
bannerAdv.hide()
//销毁banner
bannerAdv.destroy()
  • 激励式视频广告调用
            // 用户触发广告后,显示激励视频广告
            videoAdv.show().catch(() => {
                // 失败重试
                videoAdv.load()
                    .then(() => videoAdv.show())
                    .catch(err => {
                        console.log('激励视频 广告显示失败')
                    })
            })
            //拉取异常处理
            videoAdv.onError((err) => {
                console.log(err);
            })
            videoAdv.onClose((res) => {
                if(!videoAdv)return;
                videoAdv.offClose();//需要清除回调,否则第N次广告会一次性给N个奖励
                //关闭
                if (res && res.isEnded || res === undefined) {
                    //正常播放结束,需要下发奖励
                    
                } else {
                    //播放退出,不下发奖励
                }
            })
  • 插屏广告调用
					// 在适合的场景显示插屏广告
                    if (interstitialAd) {
                        interstitialAd.show().catch((err) => {
                            console.error(err)
                        })
                    }
  • 接下来就可以打包微信平台,然后将代码放入微信开发者工具中,在开发者工具中看到广告是否正常拉取了喔。请添加图片描述
  • 6
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小蟹 !

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值