Skip to content

片尾 —— NovvyEndAd ​

全屏、可预加载,在剧集播放结束后展示。用法与中插一致,仅语义与回调类型不同(NovvyEndAdDelegate)。

对接流程 ​

Episode starts(本集开始播放)
        ↓
setContentContext(...)                 // series/episode
        ↓
NovvyEndAd(adUnitId:) + load()
        ↓
endAdDidLoad                           // 就绪(或 didFailToLoadWithError)
        ↓
本集播放结束  →  show(from: vc)  →  endAdDidShow
        ↓
endAdDidClose                          // 自动释放

接入代码 ​

swift
let endAd = NovvyEndAd(adUnitId: "your_ad_unit_id")
endAd.delegate = self
endAd.load()

// MARK: - NovvyEndAdDelegate
func endAdDidLoad(_ ad: NovvyEndAd) { ad.show(from: viewController) }
func endAd(_ ad: NovvyEndAd, didFailToLoadWithError error: NovvyError) { /* ... */ }
func endAdDidShow(_ ad: NovvyEndAd) { /* 已展示 */ }
func endAdDidClose(_ ad: NovvyEndAd) { /* 关闭 */ }

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

事件回调 ​

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

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

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