tt.createBannerAd

2020-02-15 01:51 更新

開(kāi)發(fā)者可以在小游戲中使用 Banner 廣告獲得收入。Banner 廣告是由客戶(hù)端原生渲染,覆蓋在開(kāi)發(fā)者指定的區(qū)域上。


客戶(hù)端能力差異

API 名稱(chēng)今日頭條抖音今日頭條極速版
tt.createBannerAd支持不支持支持


輸入

名稱(chēng)數(shù)據(jù)類(lèi)型屬性默認(rèn)值描述最低版本
adUnitIdstringrequired廣告位 id
adIntervalsnumberoptional廣告自動(dòng)刷新的間隔時(shí)間,單位為秒,參數(shù)值必須大于等于 30(該參數(shù)不傳入時(shí) Banner 廣告不會(huì)自動(dòng)刷新)1.32.0
styleobjectoptional廣告位區(qū)域
style.leftnumberoptional廣告位區(qū)域頂點(diǎn)坐標(biāo)
style.topnumberoptional廣告位區(qū)域頂點(diǎn)坐標(biāo)
style.widthnumberoptional128廣告位區(qū)域?qū)挾?/td>
提示 每個(gè)廣告實(shí)例只會(huì)與一條固定的廣告素材綁定。開(kāi)發(fā)者如果想要展示另一條廣告,需要?jiǎng)?chuàng)建一個(gè)新的 bannerAd 實(shí)例。
Banner 廣告 最小寬度是 128(設(shè)備像素),最大寬度是 208(設(shè)備像素)。開(kāi)發(fā)者可以在這之間自由指定廣告寬度。廣告組件會(huì)自動(dòng)等比例縮放素材。


輸出

bannerAd實(shí)例。


bannerAd的方法列表

BannerAd.show()

?? 必須調(diào)用 BannerAd.onLoad 監(jiān)聽(tīng)廣告素材成功拉取后才能調(diào)用 BannerAd.show(),否則廣告將無(wú)法及時(shí)展示

廣告創(chuàng)建后默認(rèn)是隱藏的,可以通過(guò)該方法顯示廣告。 該方法返回一個(gè) Promise 對(duì)象。當(dāng)廣告組件正常獲取素材時(shí),該 Promise 對(duì)象會(huì)是一個(gè) resolved Promise。當(dāng)廣告組件發(fā)生錯(cuò)誤時(shí),會(huì)是一個(gè) rejected Promise,參數(shù)與error事件監(jiān)聽(tīng)器獲得的參數(shù)相同。

barnnerAd.onLoad(function() {
  bannerAd
    .show()
    .then(() => {
      console.log("廣告顯示成功");
    })
    .catch(err => {
      console.log("廣告組件出現(xiàn)問(wèn)題", err);
    });
});

BannerAd.hide()

隱藏廣告。

BannerAd.onLoad(listener)

綁定 load 事件的監(jiān)聽(tīng)器。 廣告組件成功拉取廣告素材時(shí)會(huì)觸發(fā)load事件的監(jiān)聽(tīng)器。

BannerAd.offLoad(listener)

解除綁定 load 事件的監(jiān)聽(tīng)器。

BannerAd.onError(listener)

綁定 error 事件的監(jiān)聽(tīng)器。 廣告組件拉取廣告素材時(shí)如果發(fā)生錯(cuò)誤,會(huì)觸發(fā)error事件的監(jiān)聽(tīng)器。監(jiān)聽(tīng)器會(huì)獲得一個(gè)包含errCode和errMsg屬性的對(duì)象參數(shù)。

errCode 詳情

BannerAd.offError(listener)

解除綁定 error 事件的監(jiān)聽(tīng)器。

BannerAd.onResize(listener)

綁定 resize 事件的監(jiān)聽(tīng)器。

開(kāi)發(fā)者除了可以在創(chuàng)建 bannerAd 實(shí)例時(shí)指定廣告的style,還可以在獲得實(shí)例后修改其style屬性中的屬性值。一旦廣告尺寸發(fā)生變化,會(huì)觸發(fā)resize事件的監(jiān)聽(tīng)器。監(jiān)聽(tīng)器會(huì)獲得一個(gè)包含width和height屬性的對(duì)象參數(shù),該參數(shù)表征廣告的實(shí)際渲染尺寸。

const { windowWidth, windowHeight } = tt.getSystemInfoSync();
var targetBannerAdWidth = 200;

// 創(chuàng)建一個(gè)居于屏幕底部正中的廣告
let bannerAd = tt.createBannerAd({
  adUnitId: "YOUR_AD_UNIT_ID",
  style: {
    width: targetBannerAdWidth,
    top: windowHeight - (targetBannerAdWidth / 16) * 9 // 根據(jù)系統(tǒng)約定尺寸計(jì)算出廣告高度
  }
});
// 也可以手動(dòng)修改屬性以調(diào)整廣告尺寸
banner.style.left = (windowWidth - targetBannerAdWidth) / 2;

// 尺寸調(diào)整時(shí)會(huì)觸發(fā)回調(diào),通過(guò)回調(diào)拿到的廣告真實(shí)寬高再進(jìn)行定位適配處理
// 注意:如果在回調(diào)里再次調(diào)整尺寸,要確保不要觸發(fā)死循環(huán)!??!
bannerAd.onResize(size => {
  // good
  console.log(size.width, size.height);
  bannerAd.style.top = windowHeight - size.height;
  bannerAd.style.left = (windowWidth - size.width) / 2;

  // bad,會(huì)觸發(fā)死循環(huán)
  // bannerAd.style.width++;
});

BannerAd.offResize(listener)

解除綁定 resize 事件的監(jiān)聽(tīng)器。

BannerAd.destroy()

銷(xiāo)毀廣告實(shí)例。 當(dāng)開(kāi)發(fā)者確定某個(gè)廣告實(shí)例無(wú)需展示時(shí)應(yīng)當(dāng)主動(dòng)銷(xiāo)毀以提升性能。

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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)