Я использую AppDelegate для настройки представления баннера и его делегатов. Затем отобразите баннер на двух VC: ViewController и SecondViewController. Баннеры отображаются правильно, но с двумя визуальными неудачами.AdMob GADBannerView задержка при представлении нового VC
На открытии приложения на тестовом баннере имеется 2-3-секундная задержка. Когда я использовал IB, баннеры появились мгновенно.
При переходе с ViewController -> SecondViewController через segue (присутствует в режиме реального времени/полноэкранный режим/Cross Disolve/No Animation) задержка составляет около 1-2 секунд, пока не появится баннер.
знамена загрузить отлично, минус вопросы на две задержки/задержки выше. Как я могу их решить?
class AppDelegate: UIResponder, UIApplicationDelegate, GADBannerViewDelegate {
var window: UIWindow?
var adBannerView = GADBannerView()
let myBannerRequest = GADRequest()
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
myBannerRequest.testDevices = [kGADSimulatorID]
adBannerView.delegate = self
adBannerView.isHidden = true
return true
}
func adViewDidReceiveAd(_ bannerView: GADBannerView!) {
adBannerView.isHidden = false
}
func adView(_ bannerView: GADBannerView!, didFailToReceiveAdWithError error: GADRequestError!) {
adBannerView.isHidden = true
}
}
ViewController
let appDelegate = UIApplication.shared.delegate as! AppDelegate
override func viewDidLoad() {
super.viewDidLoad()
requestAds()
}
internal func requestAds() {
appDelegate.adBannerView = GADBannerView()
appDelegate.adBannerView.adUnitID = "ca-app-pub-3940256099942544/2934735716"
appDelegate.adBannerView.adSize = kGADAdSizeBanner
appDelegate.adBannerView.rootViewController = self
appDelegate.adBannerView.load(appDelegate.myBannerRequest)
appDelegate.adBannerView.center = CGPoint(x: view.frame.midX, y: view.frame.height - appDelegate.adBannerView.frame.height/2)
view.addSubview(appDelegate.adBannerView)
}
SecondViewController
// Same as ViewController, with addition of IBAction for the button:
@IBAction func closeButtonPressed(_ sender: UIButton) {
self.dismiss(animated: true, completion: nil)
}
Загружается отлично/Загружается на Second VC отлично ... При нажатии кнопки закрытия объявления больше нет. Я испытал это, прежде чем я сделал свой первый пост, поэтому у меня был appDelegate.adBannerView = GADBannerView(). Попробовать загрузить другой. Есть ли исправление для баннеров, которые не отображаются, когда второй VC уволен? – Joe
Вместо viewDidLoad вызов функции в viewDidAppear –
Это работает! Получил еще лучший результат (без мерцания объявления), используя viewWillAppear. Спасибо за вашу помощь здесь. – Joe