我在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“(空)”

不显示iAd滚动广告。我遵循以下文档:
Monetizing your iOS apps with iAd

我也允许Arbitrary Loads中的info.plist
<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>

最佳答案

您需要先在preparePrerollAds中调用viewDidLoad来下载广告,然后再尝试展示它。

[AVPlayerViewController preparePrerollAds];

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

另外,如果您要在开发设备上进行测试,请转到设置>开发人员>填充率>并确保将其设置为100%。

关于ios - 使用AVPlayerViewController的前滚式视频广告,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33709412/

10-14 03:23