En apportant quelques modifications à votre code, vous pouvez combiner des annonces natives et des bannières dans vos demandes d'annonces.
Prérequis
- Version 7.20.0 ou ultérieure du SDK Google Mobile Ads
- Suivez le guide de démarrage.
Charger 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 requêtes d'annonces pouvant générer une bannière ou une annonce native. Ajouter GADAdLoaderAdTypeGAMBanner
au paramètre de tableau adTypes
, ainsi que des types d'annonces natives tels que GADAdLoaderAdTypeNative
lors de la création de l'objet GADAdLoader
spécifie que les bannières doivent rivaliser avec les annonces natives pour répondre à la requête.
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 publicitaires via GADAdLoader
, le délégué du chargeur d'annonces doit se conformer au 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 d'annonces en 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))) ]; }
Comptage manuel des impressions
Pour activer le comptage manuel des impressions sur les bannières publicitaires 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 est chargée, vous pouvez appeler recordManualImpression
lorsque vous déterminez qu'une annonce a bien été renvoyée et qu'elle est à l'écran pour déclencher manuellement une impression:
Swift
bannerView.recordImpression()
Objective-C
[self.bannerView recordImpression];