跳转到主要内容
每次请求和事件都带有观众在这一集中的位置,叠加广告和暂停广告也会跟随播放:叠加广告只在内容播放时展示,观众一暂停就消失;暂停广告在展示期间内容暂停过、之后再次播放时消失,无论观众如何恢复。剧集开始播放后,把播放器交给 SDK。 使用 Media3 播放器(ExoPlayer、MediaController)时,添加 so.kontext:video-media3 并直接交给 SDK;见 Media3 播放器:
使用 TTSDK 播放器(TTVideoEngine)时,添加 so.kontext:video-ttsdk,并以同样方式交给引擎:ads.track(engine);见 TTSDK 播放器。 使用其他播放器时,实现 VideoAdsPlayer:它的位置(毫秒),以及它是否在播放。缓冲和拖动进度都算作播放。
如果你的播放器有自己的监听器,实现 addListener 和 removeListener,并在每次变化时调用 VideoAdsPlayer.Listener(onIsPlayingChanged、onSeek、onContentChanged):观众一暂停叠加广告就会结束。否则叠加广告在屏幕上期间 SDK 每秒检查 isPlaying 四次。SDK 持有适配器直到 destroy() 或下一次 track,所以让适配器弱持有你的播放器。 在这一集开始播放时调用 track,而不是在创建 VideoAds 时:在那之前播放器的时间属于上一集。在那之前 SDK 发送 0,这对预取来说是正确的。