Il vous suffit de modifier votre code pour combiner des annonces natives et des bannières dans vos demandes d'annonces.
Conditions préalables
- Version 7.20.0 ou ultérieure du SDK Google Mobile Ads
- Suivez le guide de démarrage.
Chargement d'une annonce
Les annonces natives utilisant l'affichage personnalisé sont chargées via des objets GADAdLoader
. L'objet GADAdLoader
peut également être configuré pour envoyer des demandes d'annonces générant une bannière ou une annonce native. Si vous ajoutez GADAdLoaderAdTypeGAMBanner
au paramètre de tableau adTypes
avec des types d'annonces natives tels que GADAdLoaderAdTypeNative
lors de la création de l'objet GADAdLoader
, vous indiquez que les bannières doivent être mises en concurrence avec les annonces natives pour répondre à la demande.
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
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 qui est envoyé lors du chargement d'une bannière:
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ère à 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 la comptabilisation manuelle 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: "/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 ]];
Si une bannière se charge, vous pouvez appeler recordManualImpression
lorsque vous déterminez qu'une annonce a bien été renvoyée et qu'elle s'affiche à l'écran pour déclencher manuellement une impression:
Swift
bannerView.recordImpression()
Objective-C
[self.bannerView recordImpression];