快應(yīng)用 廣告

2020-08-08 14:37 更新

接口聲明

{"name":"service.ad"}

導(dǎo)入模塊

import ad from '@service.ad' 或 
const ad = require('@service.ad')

接口定義

ad.getProvider()

獲取服務(wù)提供商。

參數(shù):

無(wú)

返回值:

字符串,服務(wù)提供商的代號(hào),如廠商的英文品牌名稱,假如無(wú)此服務(wù)則返回空字符串

示例:

console.log(ad.getProvider())
注意:廣告的尺寸比例,無(wú)需通過接口進(jìn)行配置,但各廠商的尺寸不同,開發(fā)的時(shí)候需要進(jìn)行區(qū)分

banner廣告

ad.createBannerAd(object)

創(chuàng)建 Banner 廣告組件,如果已經(jīng)創(chuàng)建過 Banner 廣告組件,則返回已創(chuàng)建的廣告組件

參數(shù)

參數(shù)類型是否必填說(shuō)明
adUnitIdstringBanner 廣告位標(biāo)識(shí)
styleObjectBanner 廣告組件的樣式

代碼示例:

let bannerAd = ad.createBannerAd({
    adUnitId: 'xxx',
    style:{
        left:0,
        top: 800,
        width:1080
    }
})

style的結(jié)構(gòu)

屬性類型是否必填說(shuō)明
leftnumberbanner 廣告組件的左上角橫坐標(biāo)
topnumberbanner 廣告組件的左上角縱坐標(biāo)
widthnumberbanner 廣告組件的寬度
heightnumberbanner 廣告組件的高度

style說(shuō)明

Banner 廣告組件的尺寸會(huì)根據(jù)開發(fā)者設(shè)置的寬度,即 style.width 進(jìn)行等比縮放,縮放的范圍是 designWidth * 50% 到 屏幕寬度。 開發(fā)者在創(chuàng)建 BannerAd 時(shí)設(shè)置寬高,也可以在創(chuàng)建后設(shè)置,如:

  bannerAd.style.width = 1000

當(dāng) style.width 小于 designWidth 50% 時(shí),會(huì)取作 designWidth 50%。 當(dāng) style.width 大于屏幕寬度時(shí),會(huì)取作屏幕寬度。 在組件內(nèi)部會(huì)以此值為基準(zhǔn),根據(jù) Banner 廣告的標(biāo)準(zhǔn)尺寸,進(jìn)行縮放。 每當(dāng)縮放發(fā)生且縮放后的尺寸不同時(shí),通過 BannerAd.onResize() 注冊(cè)的回調(diào)函數(shù)就會(huì)執(zhí)行?;卣{(diào)函數(shù)的參數(shù)是一個(gè)包含 BannerAd 縮放后的寬和高的對(duì)象。BannerAd 的 style.realWidth 和 style.realHeight 到經(jīng)過縮放后的寬和高。

bannerAd.onResize(res => {
    console.log(res.width, res.height)
    console.log(bannerAd.style.realWidth, bannerAd.style.realHeight)
})

Banner廣告不設(shè)置位置,默認(rèn)在屏幕底部。

返回值

Banner廣告組件

Promise bannerAd.show()

加載展示 banner 廣告,出錯(cuò)的時(shí)候回調(diào) onError,分為加載和展示兩個(gè)階段,加載成功回調(diào) onLoad

返回值

Promise

banner 廣告顯示操作的結(jié)果

Promise bannerAd.hide()

隱藏 banner 廣告

返回值

Promise

banner 廣告隱藏操作的結(jié)果

bannerAd.onError(function callback)

監(jiān)聽 banner 廣告錯(cuò)誤事件

代碼示例:

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

err:Object錯(cuò)誤參數(shù),其他廣告類型相同

參數(shù)類型是否必填說(shuō)明
errMsgstring錯(cuò)誤信息
errCodenumber錯(cuò)誤碼

bannerAd.offError(function callback)

移除 banner 廣告錯(cuò)誤監(jiān)聽

bannerAd.onLoad(function callback)

監(jiān)聽 banner 廣告加載事件,多個(gè)素材,每次加載新素材,都會(huì)進(jìn)入這個(gè)回調(diào)

bannerAd.offLoad(function callback)

移除 banner 廣告展示監(jiān)聽

bannerAd.onClose(function callback)

監(jiān)聽 banner 廣告關(guān)閉事件

bannerAd.offClose(function callback)

移除 banner 關(guān)閉回調(diào)

bannerAd.onResize(function callback)

監(jiān)聽 banner 廣告尺寸變化事件

參數(shù)

function callback

banner 廣告尺寸變化事件的回調(diào)函數(shù)

回調(diào)參數(shù)

Object res:

屬性類型說(shuō)明
widthnumber縮放后的寬度
heightnumber縮放后的高度

bannerAd.offResize(function callback)

取消監(jiān)聽 banner 廣告尺寸變化事件

參數(shù)

function callback

banner 廣告尺寸變化事件的回調(diào)函數(shù),可以為空

bannerAd.destroy()

銷毀 banner 廣告

插屏廣告

ad.createInterstitialAd(object)

創(chuàng)建插屏廣告組件,同一個(gè) adUnitId,如果已經(jīng)創(chuàng)建,并且未 destroy,會(huì)復(fù)用之前的對(duì)象,創(chuàng)建后會(huì)加載廣告素材,素材創(chuàng)建后會(huì)自動(dòng)拉取

參數(shù)

參數(shù)類型是否必填說(shuō)明
adUnitIdstring插屏廣告位標(biāo)識(shí)

代碼示例:

let interstitialAd = ad.createInterstitialAd({
  adUnitId: 'xxx'
})

返回值

插屏廣告組件

interstitialAd.show()

插屏廣告組件默認(rèn)是隱藏的,調(diào)用 show 方法展示廣告。

返回值

Promise

插屏廣告顯示操作的結(jié)果。

interstitialAd.onLoad(function callback)

監(jiān)聽視頻廣告加載成功事件

代碼示例:

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

interstitialAd.offLoad(function callback)

移除插屏廣告加載成功監(jiān)聽

interstitialAd.onClose(function callback)

監(jiān)聽插屏廣告隱藏事件

interstitialAd.offClose(function callback)

移除插屏廣告隱藏監(jiān)聽

interstitialAd.onError(function callback)

監(jiān)聽插屏廣告出錯(cuò)事件

代碼示例:

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

interstitialAd.offError(function callback)

移除插屏廣告出錯(cuò)監(jiān)聽

interstitialAd.destroy()

銷毀插屏廣告組件

原生廣告

ad.createNativeAd(object)

創(chuàng)建 native 廣告組件,如果已經(jīng)創(chuàng)建過 native 廣告組件,則返回已創(chuàng)建的廣告組件

參數(shù)

參數(shù)類型是否必填說(shuō)明
adUnitIdstring原生廣告位標(biāo)識(shí)

代碼示例:

let nativeAd = ad.createNativeAd({
    adUnitId: 'xxx'
})

返回值

原生廣告組件

nativeAd.load()

拉取廣告數(shù)據(jù),成功回調(diào) onLoad,失敗回調(diào) onError

nativeAd.reportAdShow()

上報(bào)廣告曝光,一個(gè)廣告只有一次上報(bào)有效,adId 為 load 方法獲取的廣告數(shù)據(jù)的 adId 字段

參數(shù)

參數(shù)類型是否必填說(shuō)明
adIdstring廣告信息標(biāo)識(shí),由 load 接口返回

代碼示例:

nativeAd.reportAdShow({
    adId: "xxx"
})

nativeAd.reportAdClick()

上報(bào)廣告點(diǎn)擊,一個(gè)廣告只有一次上報(bào)有效,adId 為 load 方法獲取的廣告數(shù)據(jù)的 adId 字段

參數(shù)

參數(shù)類型是否必填說(shuō)明
adIdstring廣告信息標(biāo)識(shí),由 load 接口返回

代碼示例:

nativeAd.reportAdClick({
    adId: "xxx"
})

nativeAd.onLoad(function callback)

設(shè)置廣告加載成功回調(diào)

參數(shù)

參數(shù)類型是否必填說(shuō)明
adListArray廣告詳細(xì)信息

返回廣告數(shù)據(jù) adList 是一個(gè) Array 對(duì)象,其中 item 數(shù)據(jù)格式為:

參數(shù)類型說(shuō)明
adIdstring廣告標(biāo)識(shí),用來(lái)上報(bào)曝光與點(diǎn)擊
titlestring廣告標(biāo)題
descstring廣告描述
iconstring推廣應(yīng)用的Icon圖標(biāo)
imgUrlListArray廣告圖片
logoUrlstring“廣告”標(biāo)簽圖片
clickBtnTxtstring點(diǎn)擊按鈕文本描述
creativeTypenumber獲取廣告類型,取值說(shuō)明:0:無(wú) 1:純文字 2:圖片 3:圖文混合 4:視頻
interactionTypenumber獲取廣告點(diǎn)擊之后的交互類型,取值說(shuō)明: 0:無(wú) 1:瀏覽類 2:下載類 3:瀏覽器(下載中間頁(yè)廣告) 4:打開應(yīng)用首頁(yè) 5:打開應(yīng)用詳情頁(yè)

代碼示例:

nativeAd.onLoad(function(res) {
  console.log("原生廣告加載" , res.adList)
})

nativeAd.offLoad(function callback)

移除原生廣告加載成功監(jiān)聽

nativeAd.onError(function callback)

監(jiān)聽原生廣告錯(cuò)誤事件

代碼示例:

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

nativeAd.offError(function callback)

移除原生廣告錯(cuò)誤監(jiān)聽

nativeAd.destroy()

銷毀原生廣告

激勵(lì)視頻廣告

激勵(lì)視頻廣告組件是由客戶端原生的圖片、文本、視頻控件組成的,層級(jí)最高,會(huì)覆蓋在普通組件上,該方法返回的是一個(gè)單例,該實(shí)例僅對(duì)當(dāng)前頁(yè)面有效,不允許跨頁(yè)面使用。

ad.createRewardedVideoAd(object)

創(chuàng)建激勵(lì)視頻廣告組件,該廣告頁(yè)面單例,不允許跨頁(yè)面使用。

參數(shù)

參數(shù)類型是否必填說(shuō)明
adUnitIdstring激勵(lì)視頻廣告位標(biāo)識(shí)

代碼示例:

let rewardedVideoAd = ad.createRewardedVideoAd({
    adUnitId: 'xxx'
})

返回值

激勵(lì)視頻廣告組件

rewardedVideoAd.load()

加載激勵(lì)視頻廣告。

返回值

Promise

激勵(lì)視頻廣告顯示操作的結(jié)果。

rewardedVideoAd.show()

顯示激勵(lì)視頻廣告。激勵(lì)視頻廣告將從屏幕下方推入。

返回值

Promise

激勵(lì)視頻廣告顯示操作的結(jié)果。

rewardedVideoAd.onLoad(function callback)

監(jiān)聽激勵(lì)視頻廣告加載事件。

參數(shù)

function callback

激勵(lì)視頻廣告加載事件的回調(diào)函數(shù)

rewardedVideoAd.offLoad(function callback)

取消監(jiān)聽激勵(lì)視頻廣告加載事件

參數(shù)

function callback

激勵(lì)視頻廣告加載事件的回調(diào)函數(shù)

rewardedVideoAd.onClose(function callback)

監(jiān)聽用戶點(diǎn)擊關(guān)閉廣告 按鈕的事件

參數(shù)

function callback
參數(shù)類型說(shuō)明
isEndedboolean視頻是否是在用戶完整觀看的情況下被關(guān)閉的

rewardedVideoAd.offClose(function callback)

取消監(jiān)聽用戶點(diǎn)擊?關(guān)閉廣告?按鈕的事件

參數(shù)

function callback

用戶點(diǎn)擊?關(guān)閉廣告?按鈕的事件的回調(diào)函數(shù)

rewardedVideoAd.onError(function callback)

監(jiān)聽激勵(lì)視頻錯(cuò)誤事件。

參數(shù)

function callback

激勵(lì)視頻錯(cuò)誤事件的回調(diào)函數(shù)

rewardedVideoAd.offError(function callback)

取消監(jiān)聽激勵(lì)視頻廣告錯(cuò)誤

參數(shù)

function callback

激勵(lì)視頻錯(cuò)誤事件的回調(diào)函數(shù)

錯(cuò)誤碼信息

錯(cuò)誤碼是通過onError獲取到的錯(cuò)誤信息。errCode返回值如下表:

代碼異常情況
1000后端錯(cuò)誤,調(diào)用失敗
1001參數(shù)錯(cuò)誤
1002廣告單元無(wú)效
1003內(nèi)部錯(cuò)誤
1004無(wú)合適的廣告
1005廣告組件審核中
1006廣告組件被駁回
1007廣告能力被封禁
1008廣告位的廣告能力已關(guān)閉
1009廣告加載超時(shí)
1100過于頻繁調(diào)用相關(guān)的API
1101廣告在加載后,長(zhǎng)時(shí)間沒有展示,廣告信息已過期
1102調(diào)用了不支持的方法
1103環(huán)境監(jiān)測(cè)失敗,如應(yīng)用無(wú)權(quán)限等
1104網(wǎng)絡(luò)錯(cuò)誤
1105廣告未加載成功
1106廣告展示失敗
2000未知錯(cuò)誤

后臺(tái)運(yùn)行限制

禁止使用。 后臺(tái)運(yùn)行詳細(xì)用法參見 后臺(tái)運(yùn)行腳本。

支持明細(xì)

廠商支持備注
小米1062+暫不支持原生廣告 小米移動(dòng)廣告聯(lián)盟
中興no-
華為no-
金立no-
聯(lián)想no-
魅族no-
努比亞no-
OPPO1044+激勵(lì)視頻廣告1060+ OPPO 營(yíng)銷平臺(tái)
vivo1052+激勵(lì)視頻廣告1061+ vivo 流量聯(lián)盟平臺(tái)
一加--
預(yù)覽版no預(yù)覽版不提供廣告接口


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)