Skip to content

暂停卡 —— NovvyPauseAd ​

实时暂停卡(固定 260×90dp),在播放器暂停时展示。无 load() 预加载、无 onAdLoaded —— attach() 时实时请求。需宿主实现 NovvyPlayerAdapter 供 SDK 读取播放状态。

注意调用时机

在「视频暂停那一刻」调用 attach()(会立即发起请求);恢复播放时 destroy(),下次暂停重新 attach。

对接流程 ​

Episode starts(本集开始播放)
        ↓
视频被暂停那一刻
        ↓
setContentContext(...) + attach(container, player)   // 实时请求
        ↓
onAdShown                                            // 卡片显示
        ↓
恢复播放  →  onAdHidden
        ↓
destroy()                                            // 需宿主主动释放

接入代码 ​

kotlin
// 宿主实现播放器适配器
val playerAdapter = object : NovvyPlayerAdapter {
    override val currentPositionMs: Long get() = exoPlayer.currentPosition
    override val isPlaying: Boolean get() = exoPlayer.isPlaying
}

val pauseAd = NovvyPauseAd(adUnitId = "your_ad_unit_id")

// 一次性:立即请求,就绪后挂载到容器
pauseAd.attach(container, playerAdapter, object : NovvyPauseAdListener {
    override fun onAdFailedToLoad(ad: NovvyPauseAd, error: NovvyError) { /* ... */ }
    override fun onAdShown(ad: NovvyPauseAd) { /* 暂停卡已展示 */ }
    override fun onAdHidden(ad: NovvyPauseAd) { /* 已隐藏(播放恢复) */ }
})

// 释放
pauseAd.detach()
pauseAd.destroy()

事件回调 ​

NovvyPauseAdListener 方法均有空实现默认值,按需重写;回调统一在主线程触发。

回调触发时机
onAdFailedToLoad(ad, error)请求失败,error 为 NovvyError,取值见错误类型
onAdShown(ad)暂停卡挂载展示、曝光上报完成
onAdHidden(ad)暂停卡隐藏(播放恢复 / detach())

暂停卡没有 onAdLoaded —— attach() 即实时请求,成功后直接进入 onAdShown。

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