普通小游戏开发
API
开放能力
数据分析
视频拍摄器
多端支持

BannerAd.onResize

绑定 resize 事件的监听器。

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

语法

BannerAd.onResize(callback)

参数说明

callback

类型默认值必填说明
Function监听器函数

callback 接收类型为 object 的参数,属性如下:

属性名类型说明
widthnumber广告实际渲染的宽度
heightnumber广告实际渲染的高度

返回值

代码示例

开发者工具中预览

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

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

Bug & Tip

  • Tip:注意不要在该监听器内修改广告样式尺寸,否则会导致广告渲染死循环。
点击纠错
评价此篇文档