2015-08-03 49 views
2

嗯,我想剛開始在MPMoviePlayer實施iAd的視頻用的MPMoviePlayerController與playPrerollAdWithCompletionHandler方法

視頻這是我在做什麼之前,顯示視頻廣告: -

moviePlayer = [MPMoviePlayerController new]; 

    moviePlayer.contentURL = [NSURL URLWithString:@"http://xyz/xyz.m3u8"]; 

    [moviePlayer playPrerollAdWithCompletionHandler:^(NSError *error) { 
      // Check if error is non-nil during development 
      [moviePlayer play]; 
     }]; 
    moviePlayer.view.frame=CGRectMake(0, 20, 300, self.view.frame.size.width); 
    [self.view addSubview:moviePlayer.view]; 
    [self.view layoutIfNeeded]; 

而且在AppDelegate中。米

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    // Override point for customization after application launch. 

    [MPMoviePlayerController preparePrerollAds]; 
    return YES; 
} 

但更重要的是應該怎樣做才能顯示廣告的視頻或如何將配置的iAD讓應用理解WHI通過特定的視頻播放廣告。

目前該應用只是玩這個網址「http://xyz/xyz.m3u8」的視頻,但沒有顯示任何廣告。

回答

0

你需要你的MPMoviePlayerController調用playPrerollAdWithCompletionHandlerprepareToPlay,並添加您MPMoviePlayerControllerview你面前play它。此外,您可能在[MPMoviePlayerController preparePrerollAds]有機會完全下載視頻廣告之前播放視頻。檢查我的示例:

#import "ViewController.h" 
@import iAd; 
@import MediaPlayer; 

@interface ViewController() { 
    MPMoviePlayerController *moviePlayer; 
} 

@end 

@implementation ViewController 

-(void)viewDidLoad { 
    [super viewDidLoad]; 

    // Preload ad 
    [MPMoviePlayerController preparePrerollAds]; 

    // Create our MPMoviePlayerController 
    moviePlayer =[[MPMoviePlayerController alloc]init]; 
    [moviePlayer.view setFrame: self.view.bounds]; 
    [moviePlayer setFullscreen:YES animated:YES]; 
} 

-(IBAction)playButton:(id)sender { 
    // Add MPMoviePlayerController to our view 
    [self.view addSubview:moviePlayer.view]; 

    // Path of movie you want to play 
    NSString *moviePath = [[NSBundle mainBundle] pathForResource:@"someVideo" ofType:@"MOV"]; 

    // Set the contents of our MPMoviePlayerController to our path 
    [moviePlayer setContentURL:[NSURL fileURLWithPath:moviePath]]; 

    // Prepare our movie for playback 
    [moviePlayer prepareToPlay]; 

    // Play our movie with a prerolled ad 
    [moviePlayer playPrerollAdWithCompletionHandler:^(NSError *error) { 
     [moviePlayer play]; 
    }]; 
}