主题
激励视频 —— NovvyRewardedAd
一次性全屏广告:load() → show()。用户看完(广告变为可关闭)时回调 onUserEarnedReward 发放激励。
对接流程
NovvyAds.setContentContext(...) // 短剧场景必需
↓
new NovvyRewardedAd(adUnitId)
↓
load() → onAdLoaded // 就绪(或 onAdFailedToLoad)
↓
show() → onAdShowed
↓
onUserEarnedReward // 发放激励
↓
onAdDismissed // 关闭后自动 destroy方法:show() —— 展示广告,必须在 onAdLoaded 之后调用(未就绪时抛错)。
完整示例
ts
const ad = new NovvyRewardedAd('your_ad_unit_id');
let earned = false;
ad.onAdLoaded = () => { /* 已就绪,可在此启用「看广告」入口 */ };
ad.onUserEarnedReward = () => { earned = true; };
ad.onAdDismissed = () => {
if (earned) grantReward(); // 发放激励
// 已自动 destroy
};
ad.onAdFailedToLoad = (e) => { ad.destroy(); };
ad.load(); // 提前预加载
// 用户点击「看广告领奖励」时再展示:
function onWatchAdTapped() {
if (ad.isReady) ad.show();
}关闭后自动
destroy;未展示即放弃时手动调用ad.destroy()。
事件回调
除基类回调 onAdLoaded / onAdFailedToLoad 外,本类型的独有回调:
| 回调 | 类型 | 触发时机 |
|---|---|---|
onAdShowed | () => void | 广告已展示(不代表曝光已上报,见回调与曝光) |
onUserEarnedReward | () => void | 广告变为「可关闭」时触发一次(无奖励载荷,宿主发放自有奖励) |
onAdDismissed | () => void | 广告关闭,触发后自动 destroy |
onAdFailedToLoad(error) 的 error 取值见错误类型。回调统一在 JS 主线程 触发。