如何使用AVInterstitialTimeRange在TVOS上展示广告?

时间:2016-03-29 17:58:15

标签: objective-c avplayer tvos interstitial avplayerviewcontroller

在播放电影时,我想使用AVInterstitialTimeRange展示一些广告。我能够创建"点"在播放电影时在进度条上,但我如何实际展示广告?

到目前为止,这是我展示广告的代码。

 NSArray *adBreaks = result.adBreaks;

  _player.player.currentItem.interstitialTimeRanges = adBreaks;
  NSMutableArray *adBreaksCMTime = [[NSMutableArray alloc]init];
  for(AdBreak *brk in adBreaks) {
  CMTime seekingCM = CMTimeMake([brk adBreakTime], 1);
  CMTime durationCM = CMTimeMake([brk adBreakDuration], 1);

  AVInterstitialTimeRange *adTimeRange = [[AVInterstitialTimeRange alloc]initWithTimeRange:CMTimeRangeMake(seekingCM, durationCM)];
                    [adBreaksCMTime addObject:adTimeRange];
                }
 _player.player.currentItem.interstitialTimeRanges = adBreaksCMTime;

1 个答案:

答案 0 :(得分:0)

Quoth the docs(强调补充):

  

AVInterstitialTimeRange对象 将视听演示中的时间范围标识为 作为插页式内容,例如广告或法律声明。通过将插页式广告时间范围与您在AVPlayerItem课程中提供的AVPlayerViewController对象相关联,您可以自定义或限制插页式广告内容的显示。例如,您可以允许用户轻松跳过广告或禁止跳过法律声明。

翻译:您不能将此API用于展示广告。您可以将广告作为与内容相同的媒体流的一部分展示,也可以通过一个AVPlayerItem播放的多个来源的组合来展示广告。

如果您已经提交插页式广告内容,则希望在用户界面中清楚地标记与此类内容相对应的时间范围(以便于跳过或禁止跳过),您可以使用AVInterstitialTimeRange标记它们。