使用 AVPlayerViewController 的前置视频广告
Pre-Roll Video Ad with AVPlayerViewController
我在使用 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 Pre-Roll 视频广告未显示。我遵循了这个文档:
Monetizing your iOS apps with iAd
我也允许 Arbitrary Loads
在我的 info.plist
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
您需要在 viewDidLoad
中调用 preparePrerollAds
来下载广告,然后再尝试展示它。
[AVPlayerViewController preparePrerollAds];
使用 MPMoviePlayerController
here 检查我的示例。同样的方法。
此外,如果您在开发设备上进行测试,请转到“设置”>“开发人员”>“填充率”> 并确保将其设置为 100%。
我在使用 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 Pre-Roll 视频广告未显示。我遵循了这个文档: Monetizing your iOS apps with iAd
我也允许 Arbitrary Loads
在我的 info.plist
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
您需要在 viewDidLoad
中调用 preparePrerollAds
来下载广告,然后再尝试展示它。
[AVPlayerViewController preparePrerollAds];
使用 MPMoviePlayerController
here 检查我的示例。同样的方法。
此外,如果您在开发设备上进行测试,请转到“设置”>“开发人员”>“填充率”> 并确保将其设置为 100%。