Banneranzeigen sind rechteckige Anzeigen, die einen Teil der App-Oberfläche einnehmen. Sie bleiben auf dem Bildschirm, während die Nutzer mit der App interagieren. am oberen oder unteren Rand des Bildschirms oder inline mit dem Content, wenn der Nutzer scrollt. Banneranzeige Anzeigen können nach einer bestimmten Zeit automatisch aktualisiert werden. Siehe Übersicht über Banneranzeigen .
In diesem Leitfaden erhalten Sie eine Einführung in die Verwendung von verankerten adaptiven Bannern. Anzeigen, Die Leistung wird maximiert, indem die Anzeigengröße für jedes Gerät eine von Ihnen festgelegte Anzeigenbreite.
Adaptive Ankerbanner
Verankerte adaptive Banneranzeigen sind Anzeigen mit festem Seitenverhältnis und nicht reguläre fester Größe. Das Seitenverhältnis entspricht dem Branchenstandard 320 × 50. Einmal die verfügbare volle Breite angeben, wird eine Anzeige mit der optimalen Höhe für diese Breite auswählen. Die optimale Höhe ändert sich bei den Anfragen von Gerät und die umgebenden Ansichten müssen sich nicht bewegen, wenn die Anzeige aktualisiert wird.
Vorbereitung
- Arbeiten Sie den Startleitfaden durch.
Immer mit Testanzeigen testen
Verwenden Sie beim Entwickeln und Testen Ihrer Apps nur Testanzeigen, Live-Produktionsanzeigen. Andernfalls kann Ihr Konto gesperrt werden.
Die einfachste Methode zum Laden von Testanzeigen ist die Verwendung unserer Testanzeigenblock-ID für iOS. Banner:
ca-app-pub-3940256099942544/2435281174
Sie wurde speziell so konfiguriert, dass bei jeder Anfrage Testanzeigen zurückgegeben werden. können Sie es beim Programmieren, Testen und Debuggen in Ihren eigenen Apps verwenden. Machen Sie einfach ersetzen Sie sie vor dem Veröffentlichen Ihrer App durch Ihre Anzeigenblock-ID.
Weitere Informationen zur Funktionsweise von Testanzeigen des Mobile Ads SDK finden Sie unter Test Anzeigen:
GADBannerView erstellen
Banneranzeigen werden in GADBannerView
angezeigt
Objekte. Der erste Schritt zur Integration von Banneranzeigen ist also das Einfügen einer GADBannerView
in Ihrer Ansichtshierarchie. Dies geschieht in der Regel entweder programmatisch oder
über Interface Builder erstellen.
Programmatisch
Eine GADBannerView
kann auch direkt instanziiert werden.
Hier ist ein Beispiel für das Erstellen eines GADBannerView
,
Das Gerät ist an der unteren Mitte des Sicherheitsbereichs ausgerichtet:
Swift
import GoogleMobileAds import UIKit class ViewController: UIViewController { var bannerView: GADBannerView! override func viewDidLoad() { super.viewDidLoad() let viewWidth = view.frame.inset(by: view.safeAreaInsets).width // Here the current interface orientation is used. Use // GADLandscapeAnchoredAdaptiveBannerAdSizeWithWidth or // GADPortraitAnchoredAdaptiveBannerAdSizeWithWidth if you prefer to load an ad of a // particular orientation, let adaptiveSize = GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(viewWidth) bannerView = GADBannerView(adSize: adaptiveSize) addBannerViewToView(bannerView) } func addBannerViewToView(_ bannerView: GADBannerView) { bannerView.translatesAutoresizingMaskIntoConstraints = false view.addSubview(bannerView) view.addConstraints( [NSLayoutConstraint(item: bannerView, attribute: .bottom, relatedBy: .equal, toItem: view.safeAreaLayoutGuide, attribute: .bottom, multiplier: 1, constant: 0), NSLayoutConstraint(item: bannerView, attribute: .centerX, relatedBy: .equal, toItem: view, attribute: .centerX, multiplier: 1, constant: 0) ]) } }
Objective-C
@import GoogleMobileAds; @interface ViewController () @property(nonatomic, strong) GADBannerView *bannerView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Here safe area is taken into account, hence the view frame is used after the // view has been laid out. CGRect frame = UIEdgeInsetsInsetRect(self.view.frame, self.view.safeAreaInsets); CGFloat viewWidth = frame.size.width; // Here the current interface orientation is used. If the ad is being preloaded // for a future orientation change or different orientation, the function for the // relevant orientation should be used. GADAdSize adaptiveSize = GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(viewWidth); // In this case, we instantiate the banner with desired ad size. self.bannerView = [[GADBannerView alloc] initWithAdSize:adaptiveSize]; [self addBannerViewToView:self.bannerView]; } - (void)addBannerViewToView:(UIView *)bannerView { bannerView.translatesAutoresizingMaskIntoConstraints = NO; [self.view addSubview:bannerView]; [self.view addConstraints:@[ [NSLayoutConstraint constraintWithItem:bannerView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.view.safeAreaLayoutGuide attribute:NSLayoutAttributeBottom multiplier:1 constant:0], [NSLayoutConstraint constraintWithItem:bannerView attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeCenterX multiplier:1 constant:0] ]]; } @end
Beachten Sie, dass wir in diesem Fall keine Einschränkungen für die Breite oder Höhe angeben, da die Anzeigengröße gibt dem Banner eine unveränderliche Inhaltsgröße für die angezeigt wird.
Interface-Builder
Ein GADBannerView
kann einem Storyboard oder einer XIB-Datei hinzugefügt werden.
-Datei. Wenn Sie diese Methode verwenden, achten Sie darauf,
auf das Banner. Wenn z. B. im unteren Bereich des Bildschirms ein adaptives Banner
legen Sie den unteren Teil der Banneransicht auf den gleichen Wert wie
Layoutübersicht und legen Sie das Zentrum X auf die Mitte X der Superansicht fest.
Die Anzeigengröße des Banners wird weiterhin programmatisch festgelegt:
Swift
bannerView.adSize = GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(viewWidth)
Objective-C
self.bannerView.adSize = GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(viewWidth);
Anzeige laden
Sobald die GADBannerView
eingerichtet ist und ihre Eigenschaften
ist es Zeit, eine Anzeige zu laden. Dazu wird loadRequest:
auf einer
GADRequest
-Objekt enthält:
Swift
override func viewDidLoad() { super.viewDidLoad() ... // Set the ad unit ID and view controller that contains the GADBannerView. bannerView.adUnitID = "ca-app-pub-3940256099942544/2435281174" bannerView.rootViewController = self bannerView.load(GADRequest()) }
Objective-C
- (void)viewDidLoad { [super viewDidLoad]; ... // Set the ad unit ID and view controller that contains the GADBannerView. self.bannerView.adUnitID = @"ca-app-pub-3940256099942544/2435281174"; self.bannerView.rootViewController = self; [self.bannerView loadRequest:[GADRequest request]]; }
GADRequest-Objekte stellen eine einzelne Anzeigenanfrage dar und Eigenschaften für Dinge wie Targeting-Informationen enthalten.
Falls Ihre Anzeige nicht geladen werden kann, müssen Sie keine weitere Voraussetzung ist, dass Sie den Anzeigenblock für die Aktualisierung konfiguriert haben. Google Mobile Ads SDK die Aktualisierungsrate, die Sie in der AdMob- UI. Wenn Sie die Aktualisierung nicht aktiviert haben, müssen Sie eine neue Anfrage senden.
Anzeigenereignisse
Mit GADBannerViewDelegate
können Sie Lebenszyklusereignisse überwachen,
etwa wenn eine Anzeige geschlossen wird oder der Nutzer die App verlässt.
Für Bannerereignisse registrieren
Wenn du dich für Banneranzeigenereignisse registrieren möchtest, musst du die Property delegate
auf
GADBannerView
auf ein Objekt, das den
GADBannerViewDelegate
-Protokoll. Im Allgemeinen ist die Klasse, die Banner implementiert,
ads agiert auch als Delegatklasse. In diesem Fall kann das Attribut delegate
auf self
festgelegt werden.
Swift
import GoogleMobileAds import UIKit class ViewController: UIViewController, GADBannerViewDelegate { var bannerView: GADBannerView! override func viewDidLoad() { super.viewDidLoad() ... bannerView.delegate = self } }
Objective-C
@import GoogleMobileAds; @interface ViewController () <GADBannerViewDelegate> @property(nonatomic, strong) GADBannerView *bannerView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; ... self.bannerView.delegate = self; }
Bannerereignisse implementieren
Jede der Methoden in GADBannerViewDelegate
ist als optional gekennzeichnet.
Sie müssen nur die
gewünschten Methoden implementieren. In diesem Beispiel werden alle Methoden
und protokolliert eine Nachricht in der Konsole:
Swift
func bannerViewDidReceiveAd(_ bannerView: GADBannerView) { print("bannerViewDidReceiveAd") } func bannerView(_ bannerView: GADBannerView, didFailToReceiveAdWithError error: Error) { print("bannerView:didFailToReceiveAdWithError: \(error.localizedDescription)") } func bannerViewDidRecordImpression(_ bannerView: GADBannerView) { print("bannerViewDidRecordImpression") } func bannerViewWillPresentScreen(_ bannerView: GADBannerView) { print("bannerViewWillPresentScreen") } func bannerViewWillDismissScreen(_ bannerView: GADBannerView) { print("bannerViewWillDIsmissScreen") } func bannerViewDidDismissScreen(_ bannerView: GADBannerView) { print("bannerViewDidDismissScreen") }
Objective-C
- (void)bannerViewDidReceiveAd:(GADBannerView *)bannerView { NSLog(@"bannerViewDidReceiveAd"); } - (void)bannerView:(GADBannerView *)bannerView didFailToReceiveAdWithError:(NSError *)error { NSLog(@"bannerView:didFailToReceiveAdWithError: %@", [error localizedDescription]); } - (void)bannerViewDidRecordImpression:(GADBannerView *)bannerView { NSLog(@"bannerViewDidRecordImpression"); } - (void)bannerViewWillPresentScreen:(GADBannerView *)bannerView { NSLog(@"bannerViewWillPresentScreen"); } - (void)bannerViewWillDismissScreen:(GADBannerView *)bannerView { NSLog(@"bannerViewWillDismissScreen"); } - (void)bannerViewDidDismissScreen:(GADBannerView *)bannerView { NSLog(@"bannerViewDidDismissScreen"); }
Das Ad Delegate-Beispiel zeigt eine Implementierung von Banner Delegate-Methoden in die iOS API Demo App.
Anwendungsfälle
Im Folgenden finden Sie einige Anwendungsbeispiele für diese Anzeigenereignismethoden.
Banner zur Ansichtshierarchie hinzufügen, nachdem eine Anzeige empfangen wurde
Sie sollten das Hinzufügen eines GADBannerView
s zu einem späteren Zeitpunkt
Ansichtshierarchie bleiben,
bis die Anzeige empfangen wurde. Dazu hören Sie
für das Ereignis bannerViewDidReceiveAd:
:
Swift
func bannerViewDidReceiveAd(_ bannerView: GADBannerView) { // Add banner to view and add constraints as above. addBannerViewToView(bannerView) }
Objective-C
- (void)bannerViewDidReceiveAd:(GADBannerView *)bannerView { // Add bannerView to view and add constraints as above. [self addBannerViewToView:self.bannerView]; }
Banneranzeige animieren
Mit dem Ereignis bannerViewDidReceiveAd:
lässt sich eine Banneranzeige auch einmal animieren.
zurückgegeben, wie im folgenden Beispiel gezeigt:
Swift
func bannerViewDidReceiveAd(_ bannerView: GADBannerView) { bannerView.alpha = 0 UIView.animate(withDuration: 1, animations: { bannerView.alpha = 1 }) }
Objective-C
- (void)bannerViewDidReceiveAd:(GADBannerView *)bannerView { bannerView.alpha = 0; [UIView animateWithDuration:1.0 animations:^{ bannerView.alpha = 1; }]; }
Pausieren und Fortsetzen der App
Das Protokoll GADBannerViewDelegate
bietet Methoden, um Sie über Ereignisse zu benachrichtigen:
als wenn ein Klick dazu führt, dass ein Overlay angezeigt oder geschlossen wird. Wenn Sie
nachzuverfolgen, ob diese Ereignisse auf Werbung zurückzuführen sind, registrieren Sie sich
GADBannerViewDelegate
-Methoden.
Um alle Arten von Overlay-Präsentationen oder Aufrufen externer Browser abzufangen,
die auf Anzeigenklicks zurückzuführen sind, ist es besser, wenn Ihre App
gleichwertige Methoden auf UIViewController
oder UIApplication
. Hier ist eine Tabelle
zeigt die äquivalenten iOS-Methoden, die zur gleichen Zeit wie
GADBannerViewDelegate
-Methoden:
GADBannerViewDelegate-Methode | iOS-Methode |
---|---|
bannerViewWillPresentScreen: |
viewWillDisappear: von UIViewController |
bannerViewWillDismissScreen: |
viewWillAppear: von UIViewController |
bannerViewDidDismissScreen: |
viewDidAppear: von UIViewController |
Zusätzliche Ressourcen
Beispiele auf GitHub
- Beispiel für verankerte adaptive Banneranzeigen: Swift | Objective-C
- Demo zu erweiterten Funktionen: Swift | Objective-C
Nächste Schritte
Minimierbare Banner
Minimierbare Banneranzeigen sind Banneranzeigen, die anfänglich als größere Overlay mit einer Schaltfläche zum Minimieren der Anzeige auf eine kleinere Größe. Erwägen Sie die Verwendung um die Leistung weiter zu optimieren. Weitere Informationen finden Sie unter Minimierbare Banneranzeigen.
Adaptive Inline-Banner
Adaptive Inline-Banner sind im Vergleich zu verankerten adaptiven Bannern größer und höher. Banner. Sie haben eine variable Höhe und können so hoch wie der Gerätebildschirm sein. Adaptive Inline-Banner werden gegenüber verankerten adaptiven Banneranzeigen empfohlen, Apps, die Banneranzeigen in scrollbarem Content platzieren Siehe Inline-Adaptive Details.