tt.createBannerAd

2020-02-15 01:51 更新

开发者可以在小游戏中使用 Banner 广告获得收入。Banner 广告是由客户端原生渲染,覆盖在开发者指定的区域上。


客户端能力差异

API 名称今日头条抖音今日头条极速版
tt.createBannerAd支持不支持支持


输入

名称数据类型属性默认值描述最低版本
adUnitIdstringrequired广告位 id
adIntervalsnumberoptional广告自动刷新的间隔时间,单位为秒,参数值必须大于等于 30(该参数不传入时 Banner 广告不会自动刷新)1.32.0
styleobjectoptional广告位区域
style.leftnumberoptional广告位区域顶点坐标
style.topnumberoptional广告位区域顶点坐标
style.widthnumberoptional128广告位区域宽度
提示 每个广告实例只会与一条固定的广告素材绑定。开发者如果想要展示另一条广告,需要创建一个新的 bannerAd 实例。
Banner 广告 最小宽度是 128(设备像素),最大宽度是 208(设备像素)。开发者可以在这之间自由指定广告宽度。广告组件会自动等比例缩放素材。


输出

bannerAd实例。


bannerAd的方法列表

BannerAd.show()

⚠️ 必须调用 BannerAd.onLoad 监听广告素材成功拉取后才能调用 BannerAd.show(),否则广告将无法及时展示

广告创建后默认是隐藏的,可以通过该方法显示广告。 该方法返回一个 Promise 对象。当广告组件正常获取素材时,该 Promise 对象会是一个 resolved Promise。当广告组件发生错误时,会是一个 rejected Promise,参数与error事件监听器获得的参数相同。

barnnerAd.onLoad(function() {
  bannerAd
    .show()
    .then(() => {
      console.log("广告显示成功");
    })
    .catch(err => {
      console.log("广告组件出现问题", err);
    });
});

BannerAd.hide()

隐藏广告。

BannerAd.onLoad(listener)

绑定 load 事件的监听器。 广告组件成功拉取广告素材时会触发load事件的监听器。

BannerAd.offLoad(listener)

解除绑定 load 事件的监听器。

BannerAd.onError(listener)

绑定 error 事件的监听器。 广告组件拉取广告素材时如果发生错误,会触发error事件的监听器。监听器会获得一个包含errCode和errMsg属性的对象参数。

errCode 详情

BannerAd.offError(listener)

解除绑定 error 事件的监听器。

BannerAd.onResize(listener)

绑定 resize 事件的监听器。

开发者除了可以在创建 bannerAd 实例时指定广告的style,还可以在获得实例后修改其style属性中的属性值。一旦广告尺寸发生变化,会触发resize事件的监听器。监听器会获得一个包含width和height属性的对象参数,该参数表征广告的实际渲染尺寸。

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

// 创建一个居于屏幕底部正中的广告
let bannerAd = tt.createBannerAd({
  adUnitId: "YOUR_AD_UNIT_ID",
  style: {
    width: targetBannerAdWidth,
    top: windowHeight - (targetBannerAdWidth / 16) * 9 // 根据系统约定尺寸计算出广告高度
  }
});
// 也可以手动修改属性以调整广告尺寸
banner.style.left = (windowWidth - targetBannerAdWidth) / 2;

// 尺寸调整时会触发回调,通过回调拿到的广告真实宽高再进行定位适配处理
// 注意:如果在回调里再次调整尺寸,要确保不要触发死循环!!!
bannerAd.onResize(size => {
  // good
  console.log(size.width, size.height);
  bannerAd.style.top = windowHeight - size.height;
  bannerAd.style.left = (windowWidth - size.width) / 2;

  // bad,会触发死循环
  // bannerAd.style.width++;
});

BannerAd.offResize(listener)

解除绑定 resize 事件的监听器。

BannerAd.destroy()

销毁广告实例。 当开发者确定某个广告实例无需展示时应当主动销毁以提升性能。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号