tt.createBannerAd

2020-02-15 01:51 更新

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


客戶端能力差異

API 名稱今日頭條抖音今日頭條極速版
tt.createBannerAd支持不支持支持


輸入

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


輸出

bannerAd實例。


bannerAd的方法列表

BannerAd.show()

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

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

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

BannerAd.hide()

隱藏廣告。

BannerAd.onLoad(listener)

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

BannerAd.offLoad(listener)

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

BannerAd.onError(listener)

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

errCode 詳情

BannerAd.offError(listener)

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

BannerAd.onResize(listener)

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

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

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

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

// 尺寸調(diào)整時會觸發(fā)回調(diào),通過回調(diào)拿到的廣告真實寬高再進(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,會觸發(fā)死循環(huán)
  // bannerAd.style.width++;
});

BannerAd.offResize(listener)

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

BannerAd.destroy()

銷毀廣告實例。 當(dāng)開發(fā)者確定某個廣告實例無需展示時應(yīng)當(dāng)主動銷毀以提升性能。

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號