Как вы проигрываете рекламу после того, как видео закончилось в tvOS?

Поэтому я могу воспроизводить видео, когда вы нажимаете на миниатюру, но если я прикреплю к ней рекламу, она будет проигрываться поверх видео. как мне ждать, чтобы воспроизвести объявление после?

func playVideo(){

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

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

1 ответ

Вы пытались зарегистрироваться для AVPlayerItemDidPlayToEndTimeNotification?

Просто добавь

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

когда вы воспроизводите видео и реализуете itemDidFinishPlaying: метод, когда вам нужно представить свою рекламу. Что-то вроде этого:

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)
}
Другие вопросы по тегам