我正在使用应用程序来观看直播。它基于表格视图,我希望免费提供广告(有机会购买" Pro版本"通过应用内购买)。我设法在表格视图中插入AdMob横幅,但我也想在视频流中插入小横幅。我使用AVPlayer来显示流,我知道有一个名为contentOverlayView的方法允许插入在视频播放时保持可见的自定义视图,所以我想我必须使用该方法来显示此横幅,但我不是#39;能够。以下代码设置了播放器并且它完美地工作,但是我添加的用于显示横幅的代码似乎完全没用(我仍然看到视频完美但没有显示横幅):
func allestisciPlayer(indexPath: IndexPath, destinazione: AVPlayerViewController) {
// Ricava il canale corretto per mezzo della funzione apposita
let canaleSelezionato = ritornaIlCanaleCorretto(indexPath: indexPath)
// Prende il percorso giusto per lo streaming, poi crea il player nella destinazione
let url = URL(string: canaleSelezionato.urlCanale)
if let streamingURL = url {
destinazione.player = AVPlayer(url: streamingURL)
// Il do-try-catch seguente serve per far funzionare l'audio dell'app anche se l'iPhone è in modalità silenziosa; togli il blocco per fare in modo che l'app non produca audio se l'iPhone è in modalità silenziosa
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
} catch {
print("Errore: non riesco a riprodurre l'audio se iPhone è in modalità silenziosa.")
}
let bannerView = GADBannerView()
bannerView.adUnitID = "ca-app-pub-xxxx/xxxx"
bannerView.rootViewController = self
let request = GADRequest()
request.testDevices = ["xxxx"]
bannerView.load(request)
bannerView.bounds = CGRect(x: 0, y: 0, width: 320, height: 50)
destinazione.contentOverlayView?.addSubview(bannerView)
// Infine avvia il player
destinazione.player?.play()
}
}
我哪里出错了?我也尝试在prepareForSegue方法中使用此代码,甚至覆盖AVPlayerViewController的viewDidLoad方法,但仍然没有成功......任何人都可以帮助我吗?
编辑:我发现它并不困难:)我只是创建一个新的横幅(与表视图中的现有横幅不同)并通过创建另一个UIView来显示它,将横幅作为子视图添加到此新视图,最后将新视图作为子视图添加到我的AVPlayerViewController。我没有设法使用contentOverlayView方法显示横幅,但我在某处读到,即使我能够使用它显示广告,我也无法点击它,因为用户触摸被禁用了contentOverlayView内容。无论如何,谢谢你:))
答案 0 :(得分:0)
这不是初始化广告的正确方法。你应该在appdelegate中初始化它,然后你应该能够在任何你想要的地方自由地显示广告。