首先去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)