主题
中插 —— NovvyMidAd
全屏、可预加载,用于剧集中插播放点。两段式:load() → show(activity)。
对接流程
Episode starts(本集开始播放)
↓
setContentContext(...) // series/episode
↓
NovvyMidAd(adUnitId) + load()
↓
onAdLoaded // 就绪(或 onAdFailedToLoad)
↓
到达中插点 → show(activity) → onAdShown
↓
onAdClosed // 自动释放接入代码
kotlin
val midAd = NovvyMidAd(adUnitId = "your_ad_unit_id")
midAd.load(object : NovvyMidAdListener {
override fun onAdLoaded(ad: NovvyMidAd) { ad.show(activity) }
override fun onAdFailedToLoad(ad: NovvyMidAd, error: NovvyError) { /* ... */ }
override fun onAdShown(ad: NovvyMidAd) { /* 已展示 */ }
override fun onAdClosed(ad: NovvyMidAd) { /* 关闭 */ }
})关闭后自动释放;未展示即放弃时调用 midAd.destroy()。
事件回调
NovvyMidAdListener 方法均有空实现默认值,按需重写;回调统一在主线程触发。
| 回调 | 触发时机 |
|---|---|
onAdLoaded(ad) | 广告及素材已就绪,可展示 |
onAdFailedToLoad(ad, error) | 加载失败,error 为 NovvyError,取值见错误类型 |
onAdShown(ad) | 广告展示、曝光上报完成 |
onAdClosed(ad) | 广告关闭,已加载状态自动释放 |