天天看点

QQ小程序激励广告接入与使用

首先去QQ那里申请一个广告,会有一个广告ID。

代码很直观了,主要就是如何知道视频有木有看完呢,这样再决定要不要给用户奖励。

```

//初始化广告

 let videoAd = qq.createRewardedVideoAd({adUnitId: "f0f86362xxxxxxxxx473"})

   //发生错误的回调

    videoAd.onError(function (res) {

      console.log('videoAd onError', res)

    })

    //加载的回调

    videoAd.onLoad(function (res) {

      console.log('videoAd onLoad', res)

    })

   //视频被关掉的回调,这里注意,回调有个参数res.isEnded是判断用户中途关闭广告的!

    videoAd.onClose(function (res) {

      console.log('videoAd onClose', res)

      if(res.isEnded){

        console.log('观看完成')

        let params = {content, email, name, number, title, yzm}

        _this.props.asyncSub(_this.props.message.cookieData.cookie, params)

      }else{

        console.log('半途而废')

        Taro.showModal({

          title:"未观看完成",

          content:"请支持开发者维护这个应用,看完后,会自动提交!"

        })

      }

    })

   //这里才是打开广告,展示给用户!

    videoAd.load().then(() => {

      console.log('激励视频加载成功');

      videoAd.show().then(() => {

        console.log('激励视频 广告显示成功')

      }).catch(err => {

        console.log('激励视频 广告显示失败')

      })

    }).catch(err => {

      console.log('激励视频加载失败');

    })

```

调用:就是普通的bindtap。

我这里用的是form提交事件:用的React的Taro开发的,所以是react的语法,编译后就是普通的表单提交事件。

```

  <Form onSubmit={(e) => {

          this.sub(e)

        }}>

```

Taro编译后:

![image.png](https://img.hacpai.com/file/2019/12/image-b5689f3e.png)