Con alcune modifiche al codice, puoi combinare gli annunci nativi e banner nelle tue richieste di annunci.
Prerequisiti
- Versione 7.20.0 o successive dell'SDK Google Mobile Ads
- Completa la guida Inizia
Caricamento di un annuncio
Gli annunci nativi con rendering personalizzato vengono caricati tramite gli oggetti
GADAdLoader
. L'oggetto GADAdLoader
può essere configurato anche per effettuare richieste di annunci che possono generare un annuncio banner o nativo. L'aggiunta di GADAdLoaderAdTypeGAMBanner
al parametro array adTypes
, insieme ai tipi di annunci nativi come GADAdLoaderAdTypeNative
durante la creazione dell'oggetto GADAdLoader
, specifica che gli annunci banner devono competere con gli annunci nativi per soddisfare la richiesta.
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
Quando richiedi annunci banner tramite GADAdLoader
, il delegato del caricamento degli annunci deve essere conforme al protocollo GAMBannerAdLoaderDelegate
. Questo protocollo include un messaggio inviato al caricamento di un annuncio banner:
Swift
public func adLoader(_ adLoader: GADAdLoader, didReceive GAMBannerView: GAMBannerView)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didReceiveGAMBannerView:(GAMBannerView *)bannerView;
Il delegato del caricamento degli annunci deve anche specificare le dimensioni degli annunci banner da richiedere rispondendo al messaggio validBannerSizesForAdLoader
come mostrato di seguito.
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))) ]; }
Conteggio manuale delle impressioni
Per attivare il conteggio manuale delle impressioni sugli annunci banner caricati tramite GADAdLoader
, imposta un GAMBannerViewOptions
con enableManualImpressions
impostato su YES
durante l'inizializzazione di GADAdLoader
.
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 ]];
Se viene caricato un annuncio banner, puoi chiamare recordManualImpression
quando
determini che un annuncio è stato restituito correttamente ed è sullo schermo per
attivare manualmente un'impressione:
Swift
bannerView.recordImpression()
Objective-C
[self.bannerView recordImpression];