Mit wenigen Änderungen am Code können Sie native und Banneranzeigen in Ihren Anzeigenanfragen kombinieren.
Vorbereitung
- Version 7.20.0 oder höher des Google Mobile Ads SDK
- Führen Sie den Startleitfaden aus.
Anzeigen werden geladen
Benutzerdefiniert gerenderte native Anzeigen werden über GADAdLoader
-Objekte geladen. Das GADAdLoader
-Objekt kann auch so konfiguriert werden, dass Anzeigenanfragen gestellt werden, die entweder zu einer Banner- oder zu einer nativen Anzeige führen können. Wenn Sie dem Arrayparameter adTypes
beim Erstellen des GADAdLoader
-Objekts GADAdLoaderAdTypeGAMBanner
und native Anzeigentypen wie GADAdLoaderAdTypeNative
hinzufügen, wird festgelegt, dass Banneranzeigen mit nativen Anzeigen konkurrieren sollen, um die Anfrage zu erfüllen.
Swift
adLoader = GADAdLoader(adUnitID: "/21775744923/example/native-and-banner", rootViewController: self, adTypes: [.native, .gamBanner], options: [... ad loader options objects ...]) adLoader.delegate = self
Objective-C
self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native-and-banner" rootViewController:rootViewController adTypes:@[ GADAdLoaderAdTypeNative, GADAdLoaderAdTypeGAMBanner ] options:@[ ... ad loader options objects ... ]]; self.adLoader.delegate = self;
GAMBannerAdLoaderDelegate
Wenn Banneranzeigen über die GADAdLoader
angefordert werden, muss der Anzeigen-Lade-Delegierte dem GAMBannerAdLoaderDelegate
-Protokoll entsprechen. Dieses Protokoll enthält eine Nachricht, die gesendet wird, wenn eine Banneranzeige geladen wurde:
Swift
public func adLoader(_ adLoader: GADAdLoader, didReceive GAMBannerView: GAMBannerView)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didReceiveGAMBannerView:(GAMBannerView *)bannerView;
Der AdLoader-Delegierte muss auch angeben, welche Banneranzeigengrößen angefordert werden sollen. Dazu muss er wie unten gezeigt auf die validBannerSizesForAdLoader
-Nachricht antworten.
Swift
public func validBannerSizes(for adLoader: GADAdLoader) -> [NSValue] { return [NSValueFromGADAdSize(GADAdSizeBanner), NSValueFromGADAdSize(GADAdSizeMediumRectangle), NSValueFromGADAdSize(GADAdSizeFromCGSize(CGSize(width: 120, height: 20)))] }
Objective-C
- (NSArray*)validBannerSizesForAdLoader:(GADAdLoader *)adLoader { return @[ @(GADAdSizeBanner), @(GADAdSizeMediumRectangle), @(GADAdSizeFromCGSize(CGSizeMake(120, 20))) ]; }
Manuelle Impressionszählung
Wenn Sie die manuelle Impressionszählung für Banneranzeigen aktivieren möchten, die über GADAdLoader
geladen werden, legen Sie beim Initialisieren von GADAdLoader
eine GAMBannerViewOptions
mit enableManualImpressions
= YES
fest.
Swift
let bannerViewOptions = GAMBannerViewOptions() bannerViewOptions.enableManualImpressions = true adLoader = GADAdLoader( adUnitID: "/21775744923/example/native-and-banner", rootViewController: self, adTypes: [.native, .gamBanner], options: [bannerViewOptions])
Objective-C
GAMBannerViewOptions *bannerViewOptions = [[GAMBannerViewOptions alloc] init]; bannerViewOptions.enableManualImpressions = YES; self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native-and-banner" rootViewController:self adTypes:@[ GADAdLoaderAdTypeNative, GADAdLoaderAdTypeGAMBanner ] options:@[ bannerViewOptions ]];
Wenn eine Banneranzeige geladen wird, können Sie recordManualImpression
aufrufen, wenn Sie feststellen, dass eine Anzeige erfolgreich zurückgegeben und auf dem Bildschirm angezeigt wird, um manuell eine Impression auszulösen:
Swift
bannerView.recordImpression()
Objective-C
[self.bannerView recordImpression];