2016-03-30 9 views
1

So kann ich ein Video abspielen, wenn Sie auf das Miniaturbild klicken, aber wenn ich die Anzeige anschließe, wird die Anzeige über das Video abgespielt. Wie warte ich darauf, die Anzeige nachher abzuspielen?Wie spielt man eine Anzeige ab, nachdem ein Video in tVOS abgespielt wurde?

func playVideo(){ 

    player = AVPlayer(URL: NSURL(string: String(vid))!) 
    player?.play() 

    if(ALInterstitialAd.isReadyForDisplay()){ 
     ALInterstitialAd.show() 
    } 
} 
+0

Präsentieren Sie die Anzeige, sobald der 'AVPlayer' fertig gespielt hat, http://Stackoverflow.com/a/12605261/2108547 –

Antwort

1

Haben Sie versucht, sich für AVPlayerItemDidPlayToEndTimeNotification zu registrieren?

Fügen Sie einfach

NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(YourViewController.itemDidFinishPlaying(_:)), name: AVPlayerItemDidPlayToEndTimeNotification, object: nil) 

, wenn Sie Ihre Videos und implementieren die itemDidFinishPlaying: Methode spielen, wenn Sie Ihre Werbung präsentieren müssen. So etwas wie das:

func playVideo(){ 
    player = AVPlayer(URL: NSURL(string: String(vid))!) 
    player?.play() 
    NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(YourViewController.itemDidFinishPlaying(_:)), name: AVPlayerItemDidPlayToEndTimeNotification, object: nil) 
} 

func itemDidFinishPlaying(notification : NSNotification){ 
    if(ALInterstitialAd.isReadyForDisplay()){ 
     ALInterstitialAd.show() 
    } 
    NSNotificationCenter.defaultCenter().removeObserver(self, name: AVPlayerItemDidPlayToEndTimeNotification, object: nil) 
}