Con alcune modifiche al codice, puoi combinare 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
oggetti GADAdLoader. L'oggetto GADAdLoader può anche essere configurato per effettuare richieste di annunci
che possono generare un annuncio banner o nativo. L'aggiunta di
GADAdLoaderAdTypeGAMBanner al parametro array adTypes, insieme a
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 caricatore di annunci deve
rispettare il protocollo GAMBannerAdLoaderDelegate. Questo protocollo include un
messaggio inviato quando è stato caricato un annuncio banner:
Swift
public func adLoader(_ adLoader: GADAdLoader, didReceive GAMBannerView: GAMBannerView)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didReceiveGAMBannerView:(GAMBannerView *)bannerView;
Il delegato del caricatore di 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];