Skip to content

中插 —— NovvyMidAd ​

全屏、可预加载,用于剧集中插播放点。两段式:load() → show(from:)。

对接流程 ​

Episode starts(本集开始播放)
        ↓
setContentContext(...)                 // series/episode
        ↓
NovvyMidAd(adUnitId:) + load()
        ↓
midAdDidLoad                           // 就绪(或 didFailToLoadWithError)
        ↓
到达中插点  →  show(from: vc)  →  midAdDidShow
        ↓
midAdDidClose                          // 自动释放

接入代码 ​

swift
let midAd = NovvyMidAd(adUnitId: "your_ad_unit_id")
midAd.delegate = self
midAd.load()

// MARK: - NovvyMidAdDelegate
func midAdDidLoad(_ ad: NovvyMidAd) { ad.show(from: viewController) }
func midAd(_ ad: NovvyMidAd, didFailToLoadWithError error: NovvyError) { /* ... */ }
func midAdDidShow(_ ad: NovvyMidAd) { /* 已展示 */ }
func midAdDidClose(_ ad: NovvyMidAd) { /* 关闭 */ }

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

事件回调 ​

NovvyMidAdDelegate 中 midAdDidLoad / didFailToLoadWithError 需实现,其余有默认空实现;回调统一在主线程触发。

回调触发时机
midAdDidLoad(ad)广告及素材已就绪,可展示
midAd(ad, didFailToLoadWithError:)加载失败,error 取值见错误类型
midAdDidShow(ad)广告已展示(不代表曝光已上报,见回调与曝光)
midAdDidClose(ad)广告关闭,已加载状态自动释放

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