Ad API
Ad API
ShowRewardedAd(adUnitId, onSuccess, onFail)(推荐)
通过一次调用展示激励广告。广告加载、展示、失败重试及提示均由平台自动处理。
参数:
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
adUnitId | string | ✅ | 广告单元 ID |
onSuccess | Action<ShowRewardedAdResult> | - | 成功回调 |
onFail | Action<string> | - | 失败回调 |
成功响应 (ShowRewardedAdResult):
| 字段 | 类型 | 说明 |
|---|---|---|
isEnded | bool | 广告观看完成与否 |
TudadaSDK.Instance.ShowRewardedAd("ad-unit-id",
onSuccess: (result) => {
if (result.isEnded)
{
Debug.Log("发放奖励!");
GiveReward();
}
},
onFail: (err) => {
Debug.LogError("广告展示失败: " + err);
}
);
参考: 广告加载失败时,平台会自动重试,最终失败时会显示提示弹窗。游戏中无需单独实现错误处理 UI。
CreateRewardedVideoAd(adUnitId)(旧版)
创建激励视频广告实例。
参数:
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
adUnitId | string | ✅ | 广告单元 ID |
实例成员 (TudadaRewardedVideoAd):
| 成员 | 类型 | 说明 |
|---|---|---|
Load(onSuccess?, onFail?) | 方法 | 加载广告 |
Show(onSuccess?, onFail?) | 方法 | 展示广告 |
Destroy() | 方法 | 销毁实例 |
IsLoaded | bool | 是否加载完成 |
IsDestroyed | bool | 是否已销毁 |
AdUnitId | string | 广告单元 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()进行清理。