En apportant quelques modifications à votre code, vous pouvez combiner les annonces natives et les bannières dans vos demandes d'annonces.
Prérequis
- Version 7.20.0 ou ultérieure du SDK Google Mobile Ads
- Suivez le guide Premiers pas.
Chargement d'une annonce
Les annonces natives affichées de manière personnalisée sont chargées via des objets GADAdLoader
. L'objet GADAdLoader
peut également être configuré pour effectuer des demandes d'annonces pouvant générer une bannière ou une annonce native. L'ajout de GADAdLoaderAdTypeGAMBanner
au paramètre de tableau adTypes
, ainsi que les types d'annonces natives tels que GADAdLoaderAdTypeNative
lors de la création de l'objet GADAdLoader
, indique que les bannières publicitaires doivent être en concurrence avec les annonces natives pour répondre à la demande.
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
Lorsque vous demandez des bannières via GADAdLoader
, le délégué du chargeur d'annonces doit respecter le protocole GAMBannerAdLoaderDelegate
. Ce protocole inclut un message envoyé lorsqu'une bannière publicitaire a été chargée :
Swift
public func adLoader(_ adLoader: GADAdLoader, didReceive GAMBannerView: GAMBannerView)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didReceiveGAMBannerView:(GAMBannerView *)bannerView;
Le délégué du chargeur d'annonces doit également spécifier les tailles de bannières à demander en répondant au message validBannerSizesForAdLoader
, comme indiqué ci-dessous.
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))) ]; }
Comptabilisation manuelle des impressions
Pour activer le comptage manuel des impressions sur les bannières chargées via GADAdLoader
, définissez un GAMBannerViewOptions
avec enableManualImpressions
défini sur YES
lors de l'initialisation de 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 ]];
Si une bannière publicitaire se charge, vous pouvez appeler recordManualImpression
lorsque vous déterminez qu'une annonce a été renvoyée avec succès et qu'elle est à l'écran pour déclencher manuellement une impression :
Swift
bannerView.recordImpression()
Objective-C
[self.bannerView recordImpression];