Skip to content

激励视频 —— NovvyRewardedAd ​

一次性全屏广告:load() → show()。用户看完(广告变为可关闭)时回调 onUserEarnedReward 发放激励。

对接流程 ​

NovvyAds.setContentContext(...)   // 短剧场景必需
        ↓
NovvyRewardedAd(adUnitId)
        ↓
load()  →  onAdLoaded             // 就绪(或 onAdFailedToLoad)
        ↓
show()  →  onAdShowed
        ↓
onUserEarnedReward                // 发放激励
        ↓
onAdDismissed                     // 关闭后自动 destroy

完整示例 ​

dart
final ad = NovvyRewardedAd(adUnitId: 'your_ad_unit_id');
var earned = false;

ad.onAdLoaded = () { /* 已就绪,可在此启用「看广告」入口 */ };
ad.onUserEarnedReward = () => earned = true;
ad.onAdDismissed = () {
  if (earned) grantReward();             // 发放激励
  ad.destroy();
};
ad.onAdFailedToLoad = (e) => ad.destroy();

ad.load();                               // 提前预加载

// 用户点击「看广告领奖励」时再展示:
void onWatchAdTapped() {
  if (ad.isReady) ad.show();
}

关闭后自动 destroy;未展示即放弃时手动调用 ad.destroy()。

事件回调 ​

除基类回调 onAdLoaded / onAdFailedToLoad 外,本类型的独有回调:

回调类型触发时机
onAdShowedvoid Function()?广告展示、曝光上报完成
onUserEarnedRewardvoid Function()?广告变为「可关闭」时触发一次(无奖励载荷,宿主发放自有奖励)
onAdDismissedvoid Function()?广告关闭,触发后自动 destroy

onAdFailedToLoad(error) 的 error 取值见错误类型。回调统一在主 isolate(UI 线程) 触发。

本文档仅供技术对接使用,请勿外传。