微信小程序 廣告·插屏廣告

2022-05-11 15:47 更新

插屏廣告

插屏廣告組件是由客戶端原生的圖片、文本、視頻控件組成的,層級最高,會覆蓋在普通組件上。

開發(fā)者可以調(diào)用 wx.createInterstitialAd 創(chuàng)建插屏廣告組件。每調(diào)用一次該方法,返回的都是一個全新實例,該實例僅對當(dāng)前頁面有效,不允許跨頁面使用。

廣告創(chuàng)建

插屏廣告組件默認是隱藏的,因此可以提前創(chuàng)建,以提前初始化組件。開發(fā)者可以在小程序頁面的 onLoad 事件回調(diào)中創(chuàng)建廣告實例,并在該頁面的生命周期內(nèi)重復(fù)調(diào)用該廣告實例。

let interstitialAd = null
Page({
  onLoad() {
    if(wx.createInterstitialAd){
      interstitialAd = wx.createInterstitialAd({ adUnitId: 'xxxx' })
      interstitialAd.onLoad(() => {
        console.log('onLoad event emit')
      })
      interstitialAd.onError((err) => {
        console.log('onError event emit', err)
      })
      interstitialAd.onClose((res) => {
        console.log('onClose event emit', res)
      })
    }
  }
})

顯示/隱藏

插屏廣告組件默認是隱藏的,開發(fā)者需要調(diào)用 InterstitialAd.show() 進行顯示。如果廣告拉取失敗或觸發(fā)頻率限制,InterstitialAd.show() 方法會返回一個rejected Promise,開發(fā)者可自行監(jiān)聽錯誤信息。

interstitialAd.show().catch((err) => {
  console.error(err)
})

用戶可以主動關(guān)閉插屏廣告。開發(fā)者不可控制插屏廣告組件的隱藏。

廣告拉取成功與失敗

插屏廣告組件是自動拉取廣告并進行更新的。在組件創(chuàng)建后會拉取一次廣告,用戶關(guān)閉廣告后會去拉取下一條廣告。

如果拉取成功,通過 InterstitialAd.onLoad() 注冊的回調(diào)函數(shù)會執(zhí)行,回調(diào)函數(shù)沒有參數(shù)傳遞。

interstitialAd.onLoad(() => {
  console.log('插屏 廣告加載成功')
})

如果拉取失敗,通過 InterstitialAd.onError() 注冊的回調(diào)函數(shù)會執(zhí)行,回調(diào)函數(shù)的參數(shù)是一個包含錯誤信息的對象。常見異常錯誤參考文檔

interstitialAd.onError(err => {
  console.log(err)
})

監(jiān)聽用戶關(guān)閉廣告

如果廣告被關(guān)閉,通過 InterstitialAd.onClose() 注冊的回調(diào)函數(shù)會執(zhí)行,回調(diào)函數(shù)沒有參數(shù)傳遞。

interstitialAd.onClose(res => {
    console.log('插屏 廣告關(guān)閉')
})

注意事項

多次調(diào)用 InterstitialAd.onLoad()、InterstitialAd.onError()、InterstitialAd.onClose() 等方法監(jiān)聽廣告事件會產(chǎn)生多次事件回調(diào),建議在創(chuàng)建廣告后監(jiān)聽一次即可,或者先取消原有的監(jiān)聽事件再重新監(jiān)聽。

在插屏廣告展示過程中如果快速切換頁面,可能會出現(xiàn)插屏廣告展示在非調(diào)用頁面的情況,如有需要請在頁面切換完成后進行插屏廣告展示。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號