Mit ein paar Änderungen an Ihrem Code können Sie native Anzeigen und Banneranzeigen in Ihren Anzeigenanfragen kombinieren.
Vorbereitung
- Version 7.20.0 oder höher von Google Mobile Ads SDK.
- Einrichten Google Mobile Ads SDK.
Anzeige laden
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 Banneranzeige oder einer nativen Anzeige führen können. Wenn Sie
GADAdLoaderAdTypeGAMBanner zum adTypes Array-Parameter hinzufügen, wird zusammen mit
nativen Anzeigentypen wie GADAdLoaderAdTypeNative beim Erstellen des
GADAdLoader Objekts 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 Sie Banneranzeigen über GADAdLoader anfordern, muss der Anzeigenlader-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 Anzeigenlader-Delegierte muss auch angeben, welche Banneranzeigengrößen angefordert werden sollen. Dazu muss er auf die Nachricht validBannerSizesForAdLoader antworten, wie unten gezeigt.
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 Impressionen zählen
Wenn Sie manuelle Impressionen
für Banneranzeigen aktivieren möchten, die über GADAdLoader geladen werden, legen Sie beim Initialisieren von GADAdLoader eine
GAMBannerViewOptions
fest, bei der enableManualImpressions auf YES gesetzt ist.
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 zurückgegeben wurde und auf dem Bildschirm zu sehen ist, um manuell eine Impression auszulösen:
Swift
bannerView.recordImpression()
Objective-C
[self.bannerView recordImpression];