跳到主要内容

Ad API

Ad API

ShowRewardedAd(adUnitId, onSuccess, onFail)(推荐)

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

参数:

参数类型必须说明
adUnitIdstring广告单元 ID
onSuccessAction<ShowRewardedAdResult>-成功回调
onFailAction<string>-失败回调

成功响应 (ShowRewardedAdResult):

字段类型说明
isEndedbool广告观看完成与否
TudadaSDK.Instance.ShowRewardedAd("ad-unit-id",
onSuccess: (result) => {
if (result.isEnded)
{
Debug.Log("发放奖励!");
GiveReward();
}
},
onFail: (err) => {
Debug.LogError("广告展示失败: " + err);
}
);

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

CreateRewardedVideoAd(adUnitId)(旧版)

创建激励视频广告实例。

参数:

参数类型必须说明
adUnitIdstring广告单元 ID

实例成员 (TudadaRewardedVideoAd):

成员类型说明
Load(onSuccess?, onFail?)方法加载广告
Show(onSuccess?, onFail?)方法展示广告
Destroy()方法销毁实例
IsLoadedbool是否加载完成
IsDestroyedbool是否已销毁
AdUnitIdstring广告单元 ID
OnLoad事件加载完成
OnError事件发生错误
OnClose事件关闭(包含 isEnded
// 创建广告实例
TudadaRewardedVideoAd rewardedAd = TudadaSDK.Instance.CreateRewardedVideoAd("ad-unit-id");

// 注册事件
rewardedAd.OnLoad += () => {
Debug.Log("广告加载完成");
};

rewardedAd.OnError += (err) => {
Debug.LogError("广告错误: " + err.errMsg);
};

rewardedAd.OnClose += (result) => {
if (result.isEnded)
{
// 用户观看完整广告 → 发放奖励
Debug.Log("发放奖励!");
GiveReward();
}
else
{
// 中途关闭
Debug.Log("广告中途关闭");
}

// 为下一个广告重新加载
rewardedAd.Load();
};

// 加载广告
rewardedAd.Load(
onSuccess: (result) => Debug.Log("加载成功"),
onFail: (err) => Debug.LogError("加载失败: " + err)
);

展示广告:

// 加载完成后展示
if (rewardedAd.IsLoaded)
{
rewardedAd.Show(
onSuccess: (result) => Debug.Log("广告已展示"),
onFail: (err) => Debug.LogError("展示失败: " + err)
);
}

重要: 使用完毕的广告实例请调用 Destroy() 进行清理。