使用AVPlayerViewController预先滚动视频广告

时间:2015-11-14 14:24:27

标签: ios objective-c iad avplayer

我在使用iAd的预滚动视频广告时遇到了问题。

- (void)viewDidLoad {
    [super viewDidLoad];

    self.canDisplayBannerAds = YES;

    NSURL *url = [NSURL URLWithString:@"http://www.ebookfrenzy.com/ios_book/movie/movie.mov"];
    player = [[AVPlayerViewController alloc] init];
    player.showsPlaybackControls = YES;
    AVPlayer *playerP = [[AVPlayer alloc] initWithURL:url];

    player.player = playerP;
    player.delegate = self;
}

- (IBAction)buttonClick:(id)sender {
    [self presentViewController:player animated:YES completion:^{
        [player playPrerollAdWithCompletionHandler:^(NSError *error) {

            if (error != nil) {
                NSLog(@"Error Message: %@", error);
            }
        }];
        NSLog(@"Completion");
    }];
}

运行时出现以下错误:

  

错误域= ADErrorDomain代码= 0“(null)”

不显示iAd前贴片广告。我遵循了这个文档: Monetizing your iOS apps with iAd

我还在Arbitrary Loads

中允许info.plist
<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>

1 个答案:

答案 0 :(得分:1)

您需要在preparePrerollAds中致电viewDidLoad下载广告,然后再尝试展示广告。

[AVPlayerViewController preparePrerollAds];

使用MPMoviePlayerController here检查我的示例。这是相同的方法。

此外,如果您正在开发设备上进行测试,请转到设置&gt;开发人员&gt;填充率&gt;并确保它设置为100%。