我在使用 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");
}];
}
运行时出现以下错误:
Error Domain=ADErrorDomain Code=0 "(null)"
不显示 iAd 前滚动视频广告。我遵循了这个文档: Monetizing your iOS apps with iAd
我还在我的 info.plist
中允许了 Arbitrary Loads
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
最佳答案
您需要在 viewDidLoad
中调用 preparePrerollAds
以下载广告,然后再尝试呈现它。
[AVPlayerViewController preparePrerollAds];
使用 MPMoviePlayerController
检查我的示例 here .这是相同的方法。
此外,如果您在开发设备上进行测试,请转到“设置”>“开发人员”>“填充率”> 并确保将其设置为 100%。
关于ios - 使用 AVPlayerViewController 的前置视频广告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33709412/