跳到主要内容

Ad API

Ad API

showRewardedAd(options) (推荐)

一次调用即可展示激励广告。广告加载、展示、失败重试及提示由平台自动处理。

选项:

参数类型必填说明
adUnitIdstring广告单元 ID
successfunction-成功回调
failfunction-失败回调
completefunction-完成回调

成功响应:

字段类型说明
isEndedboolean广告观看是否完成(奖励发放对象)
errMsgstring结果消息
// 回调模式
TudadaSDK.showRewardedAd({
adUnitId: 'your-ad-unit-id',
success: (res) => {
if (res.isEnded) {
console.log('发放奖励!');
giveReward();
}
},
fail: (err) => {
console.error('广告展示失败:', err.errMsg);
},
});

// Promise 模式
const result = await TudadaSDK.showRewardedAdAsync({ adUnitId: 'your-ad-unit-id' });
if (result.isEnded) {
giveReward();
}

参考: 广告加载失败时平台会自动重试,最终失败时会显示提示弹窗。游戏无需单独实现错误处理 UI。

createRewardedVideoAd(options) (旧版)

创建激励视频广告实例。

选项:

参数类型必填说明
adUnitIdstring广告单元 ID
multitonboolean-多实例模式

参考: 当前仅支持单个广告,且广告 ID 由平台控制,因此 adUnitId 可输入任意字符串。

实例方法:

成员类型说明
load()Promise<void>加载广告
show()Promise<void>展示广告
destroy()void销毁实例
onLoad(callback)void加载完成事件
onError(callback)void错误事件
onClose(callback)void关闭事件
offLoad(callback?)void取消加载事件
offError(callback?)void取消错误事件
offClose(callback?)void取消关闭事件
// 创建广告实例
const rewardedAd = TudadaSDK.createRewardedVideoAd({
adUnitId: 'your-ad-unit-id',
});

// 注册事件监听器
rewardedAd.onLoad(() => {
console.log('广告加载完成');
});

rewardedAd.onError((err) => {
console.error('广告错误:', err.errMsg, err.errCode);
});

rewardedAd.onClose((res) => {
if (res.isEnded) {
// 用户已完整观看广告 → 发放奖励
console.log('发放奖励!');
giveReward();
} else {
// 用户中途关闭
console.log('广告中途关闭');
}
});

// 加载并展示广告
rewardedAd.load()
.then(() => rewardedAd.show())
.catch((err) => console.error('广告展示失败:', err));