W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
小程序廣告流量主操作指引:文檔地址
激勵視頻廣告組件是由客戶端原生的圖片、文本、視頻控件組成的,層級最高,會覆蓋在普通組件上。
開發(fā)者可以調(diào)用 wx.createRewardedVideoAd 創(chuàng)建激勵視頻廣告組件。該方法返回的是一個單例,該實(shí)例僅對當(dāng)前頁面有效,不允許跨頁面使用。
激勵視頻廣告組件默認(rèn)是隱藏的,因此可以提前創(chuàng)建,以提前初始化組件。開發(fā)者可以在小程序頁面的 onLoad 事件回調(diào)中創(chuàng)建廣告實(shí)例,并在該頁面的生命周期內(nèi)重復(fù)調(diào)用該廣告實(shí)例。
let rewardedVideoAd = null
Page({
onLoad() {
if(wx.createRewardedVideoAd){
rewardedVideoAd = wx.createRewardedVideoAd({ adUnitId: 'xxxx' })
rewardedVideoAd.onLoad(() => {
console.log('onLoad event emit')
})
rewardedVideoAd.onError((err) => {
console.log('onError event emit', err)
})
rewardedVideoAd.onClose((res) => {
console.log('onClose event emit', res)
})
}
}
})
為避免濫用廣告資源,目前每個用戶每天可觀看激勵式視頻廣告的次數(shù)有限,建議展示廣告按鈕前先判斷廣告是否拉取成功。
激勵視頻廣告組件默認(rèn)是隱藏的,在用戶主動觸發(fā)廣告后,開發(fā)者需要調(diào)用 RewardedVideoAd.show() 進(jìn)行顯示。
rewardedVideoAd.show()
只有在用戶點(diǎn)擊激勵視頻廣告組件上的 關(guān)閉廣告 按鈕時,廣告才會關(guān)閉。開發(fā)者不可控制激勵視頻廣告組件的隱藏。
激勵視頻廣告組件是自動拉取廣告并進(jìn)行更新的。在組件創(chuàng)建后會拉取一次廣告,用戶點(diǎn)擊 關(guān)閉廣告 后會去拉取下一條廣告。
如果拉取成功,通過 RewardedVideoAd.onLoad() 注冊的回調(diào)函數(shù)會執(zhí)行,RewardedVideoAd.show() 返回的 Promise 也會是一個 resolved Promise。兩者的回調(diào)函數(shù)中都沒有參數(shù)傳遞。
rewardedVideoAd.onLoad(() => {
console.log('激勵視頻 廣告加載成功')
})
rewardedVideoAd.show()
.then(() => console.log('激勵視頻 廣告顯示'))
如果拉取失敗,通過 RewardedVideoAd.onError() 注冊的回調(diào)函數(shù)會執(zhí)行,回調(diào)函數(shù)的參數(shù)是一個包含錯誤信息的對象。
rewardedVideoAd.onError(err => {
console.log(err)
})
RewardedVideoAd.show() 返回的 Promise 也會是一個 rejected Promise。
rewardedVideoAd.show()
.catch(err => console.log(err))
如果組件的某次自動拉取失敗,那么之后調(diào)用的 show() 將會被 reject。此時可以調(diào)用 RewardedVideoAd.load() 手動重新拉取廣告。
rewardedVideoAd.show()
.catch(() => {
rewardedVideoAd.load()
.then(() => rewardedVideoAd.show())
.catch(err => {
console.log('激勵視頻 廣告顯示失敗')
})
})
如果組件的自動拉取是成功的,那么調(diào)用 load() 方法會直接返回一個 resolved Promise,而不會去拉取廣告。
rewardedVideoAd.load()
.then(() => rewardedVideoAd.show())
只有在用戶點(diǎn)擊激勵視頻廣告組件上的 關(guān)閉廣告 按鈕時,廣告才會關(guān)閉。這個事件可以通過 RewardedVideoAd.onClose() 監(jiān)聽。
RewardedVideoAd.onClose() 的回調(diào)函數(shù)會傳入一個參數(shù) res,res.isEnded 描述廣告被關(guān)閉時的狀態(tài)。
屬性 | 類型 | 說明 |
---|---|---|
isEnded | boolean | 視頻是否是在用戶完整觀看的情況下被關(guān)閉的,true 表示用戶是在視頻播放完以后關(guān)閉的視頻,false 表示用戶在視頻播放過程中關(guān)閉了視頻 |
開發(fā)者需要根據(jù) res.isEnded 判斷是否視頻是否播放結(jié)束、可以向用戶下發(fā)獎勵。
rewardedVideoAd.onClose(res => {
// 用戶點(diǎn)擊了【關(guān)閉廣告】按鈕
if (res && res.isEnded) {
// 正常播放結(jié)束,可以下發(fā)游戲獎勵
} else {
// 播放中途退出,不下發(fā)游戲獎勵
}
})
多次調(diào)用 RewardedVideoAd.onLoad()、RewardedVideoAd.onError()、RewardedVideoAd.onClose() 等方法監(jiān)聽廣告事件會產(chǎn)生多次事件回調(diào),建議在創(chuàng)建廣告后監(jiān)聽一次即可,或者先取消原有的監(jiān)聽事件再重新監(jiān)聽。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: