Ad API
Ad API
showRewardedAd(options) (推荐)
一次调用即可展示激励广告。广告加载、展示、失败重试及提示由平台自动处理。
选项:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
adUnitId | string | ✅ | 广告单元 ID |
success | function | - | 成功回调 |
fail | function | - | 失败回调 |
complete | function | - | 完成回调 |
成功响应:
| 字段 | 类型 | 说明 |
|---|---|---|
isEnded | boolean | 广告观看是否完成(奖励发放对象) |
errMsg | string | 结果消息 |
// 回调模式
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) (旧版)
创建激励视频广告实例。
选项:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
adUnitId | string | ✅ | 广告单元 ID |
multiton | boolean | - | 多实例模式 |
参考: 当前仅支持单个广告,且广告 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));