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];