tt.createBannerAd
开发者可以在小游戏中使用 Banner 广告获得收入。Banner 广告是由客户端原生渲染,覆盖在开发者指定的区域上。
客户端能力差异
API 名称 | 今日头条 | 抖音 | 今日头条极速版 |
---|---|---|---|
tt.createBannerAd | 支持 | 不支持 | 支持 |
输入
名称 | 数据类型 | 属性 | 默认值 | 描述 | 最低版本 |
---|---|---|---|---|---|
adUnitId | string | required | 广告位 id | ||
adIntervals | number | optional | 广告自动刷新的间隔时间,单位为秒,参数值必须大于等于 30(该参数不传入时 Banner 广告不会自动刷新) | 1.32.0 | |
style | object | optional | 广告位区域 | ||
style.left | number | optional | 广告位区域顶点坐标 | ||
style.top | number | optional | 广告位区域顶点坐标 | ||
style.width | number | optional | 128 | 广告位区域宽度 |
提示 每个广告实例只会与一条固定的广告素材绑定。开发者如果想要展示另一条广告,需要创建一个新的 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属性的对象参数。
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()
销毁广告实例。 当开发者确定某个广告实例无需展示时应当主动销毁以提升性能。
更多建议: