Mit nur wenigen Änderungen am Code können Sie in Ihren Anzeigenanfragen native und Banneranzeigen kombinieren.
Voraussetzungen
- Google Mobile Ads SDK: Version 7.20.0 oder höher
- Arbeiten Sie den Startleitfaden durch.
Anzeige wird geladen
Benutzerdefinierte 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 nativen Anzeige führen können. Wenn Sie GADAdLoaderAdTypeGAMBanner
zum Array-Parameter adTypes
hinzufügen, geben Sie zusammen mit nativen Anzeigentypen wie GADAdLoaderAdTypeNative
beim Erstellen des GADAdLoader
-Objekts an, dass Banneranzeigen mit nativen Anzeigen konkurrieren sollen, um die Anfrage auszuführen.
Swift
adLoader = GADAdLoader(adUnitID: "/6499/example/nativeandbanner", rootViewController: self, adTypes: [.native, .gamBanner], options: [... ad loader options objects ...]) adLoader.delegate = self
Objective-C
self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/6499/example/nativeandbanner" rootViewController:rootViewController adTypes:@[ GADAdLoaderAdTypeNative, GADAdLoaderAdTypeGAMBanner ] options:@[ ... ad loader options objects ... ]]; self.adLoader.delegate = self;
GAMBannerAdLoaderDelegate
Wenn Banneranzeigen über GADAdLoader
angefragt werden, muss der AdLoader-Delegate 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 Ad Loader-Delegate muss außerdem angeben, welche Größen für Banneranzeigen angefordert werden sollen. Dazu wird auf die Meldung validBannerSizesForAdLoader
geantwortet (siehe unten).
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
Damit die manuelle Zählung von Impressionen für Banneranzeigen, die über GADAdLoader
geladen werden, aktiviert werden kann, legen Sie einen GAMBannerViewOptions
fest, wobei enableManualImpressions
beim Initialisieren von GADAdLoader
auf YES
gesetzt ist.
Swift
let bannerViewOptions = GAMBannerViewOptions() bannerViewOptions.enableManualImpressions = true adLoader = GADAdLoader( adUnitID: "/6499/example/nativeandbanner", rootViewController: self, adTypes: [.native, .gamBanner], options: [bannerViewOptions])
Objective-C
GAMBannerViewOptions *bannerViewOptions = [[GAMBannerViewOptions alloc] init]; bannerViewOptions.enableManualImpressions = YES; self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/6499/example/nativeandbanner" 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];