Ich habe eine Banneransicht und möchte eine benutzerdefinierte Schließen-Schaltfläche haben. Mein Problem ist, dass die Schaltfläche angezeigt wird, bevor die Anzeige geladen und angezeigt wird.So verwenden Sie GADBannerViewDelegate, um eine Aktion für adViewDidReceiveAd auszuführen
class RootVC: UIViewController, GADBannerViewDelegate {
var googleAdBanner: GADBannerView!
var googleBannerCloseBtn: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
googleAdBanner = GADBannerView(frame:CGRectMake(0,0,100,100))
googleAdBanner.center = CGPointMake(self.view.bounds.size.width/2, self.view.bounds.size.height/2)
googleAdBanner.adUnitID = "xx"
googleAdBanner.rootViewController = self
googleAdBanner.loadRequest(GADRequest())
adViewWillPresentScreen(googleAdBanner)
googleAdBanner.delegate = self
self.view.addSubview(googleAdBanner)
}
func adViewWillPresentScreen(bannerView: GADBannerView!) {
googleBannerCloseBtn = UIButton(frame: CGRectMake(5 , 5, 25, 25))
googleBannerCloseBtn.backgroundColor = UIColor.clearColor()
googleBannerCloseBtn.setImage(UIImage(named: "closeBtn"), forState: .Normal)
googleBannerCloseBtn.setTitle("Click Me", forState: UIControlState.Normal)
googleBannerCloseBtn.addTarget(self, action: #selector(RootVC.buttonAction(_:)), forControlEvents: UIControlEvents.TouchUpInside)
googleBannerCloseBtn.tag = 1
googleAdBanner.addSubview(googleBannerCloseBtn)
}
Wie kann ich den Knopf nur vor, wenn die GADBannerView
eine Anzeige geladen ist und dargestellt wird?
Gleiches Verhalten mit adViewDidReceiveAd
. Die Schaltfläche ist sichtbar, auch wenn die GADBannerView
"unsichtbar" ist, da derzeit keine Anzeige geladen ist.
Bildschirme wie angefordert. Wie Sie sehen, wird die Schaltfläche, dh subView
der GADBannerView
angezeigt, bevor die Anzeige selbst angezeigt wird.
Können Sie einen Screenshot zu Ihrer Frage hinzufügen, was die Schließen-Schaltfläche aussieht, wenn zu 'GADBannerView' hinzugefügt. Brauchen Sie eine bessere Vorstellung von dem, was Sie beschreiben. –
@DanielStorm Bildschirme hinzugefügt –
Ich bin weg von meinem Computer atm, aber werde später darauf schauen. Noch eine Frage. Möchten Sie eine Vollbild-Interstitial-Anzeige oder eine Banner-Anzeige am unteren Rand der Ansicht? Mit einem Banner wie du bist ist ein wenig unorthodox. Ein Interstitial, "GADIntersitial", ist eine Vollbildanzeige, zahlt normalerweise mehr und verfügt über eine eigene Schaltfläche zum Schließen. –