Les paramètres de style natif permettent à Google Ad Manager de gérer l'affichage de vos annonces natives en fonction des styles natifs que vous spécifiez dans le produit. Tout d'abord, spécifiez la taille et le ciblage.
Ajoutez ensuite du code HTML, CSS et JavaScript pour définir des annonces responsives qui s'affichent correctement sur tous les écrans. Vous n'avez pas besoin d'effectuer le rendu. Ad Manager applique automatiquement le style natif approprié pour la destination. Les styles natifs sont implémentés de la même manière que les bannières, à l'aide d'un GAMBannerView. Ils peuvent être utilisés avec une taille d'annonce fixe déterminée à l'avance ou une taille d'annonce fluide déterminée au moment de l'exécution.
Prérequis
- Google Mobile Ads SDK version 7.14.0 ou ultérieure
Dans ce guide, nous partons du principe que vous disposez de connaissances de base sur Google Mobile Ads SDK. Si vous ne l'avez pas déjà fait, nous vous conseillons de suivre notre guide de premiers pas.
Taille fixe
Les styles natifs de taille fixe vous permettent de contrôler la largeur et la hauteur de l'annonce native.
Pour définir une taille fixe, procédez comme suit :
Définissez une taille d'annonce inférieure ou égale à la taille de l'écran de l'appareil.
Pour déterminer la taille d'écran maximale sur iOS 26 et versions ultérieures, utilisez la propriété UIWindowScene.effectiveGeometry.coordinateSpace. Sur iOS 18 et versions antérieures, utilisez la propriété UIWindowScene.coordinateSpace.
Pour en savoir plus sur les contraintes de taille, consultez Résoudre les problèmes d'impressions inachevées dans Ad Manager.
Créez un élément de campagne dans l'interface utilisateur d'Ad Manager, puis sélectionnez l'une des tailles prédéfinies dans le menu déroulant du champ
Size.Dans Interface Builder, définissez la largeur et la hauteur de
GAMBannerViewde sorte qu'elles correspondent à la taille prédéfinie que vous avez sélectionnée à l'étape 1. Vous trouverez la liste des tailles et des constantesGADAdSizecorrespondantes dans la section Taille de la bannière.
Pour implémenter des styles natifs de taille fixe, il vous suffit de suivre les instructions de la section Votre première demande de bannière. Vous bénéficiez ainsi de la flexibilité et du contrôle sur le code HTML, CSS et JavaScript pour donner à votre bannière une apparence native qui s'intègre naturellement à votre application.
Taille fluide
Dans certains cas, une taille fixe peut ne pas être pertinente. Par exemple, vous pouvez souhaiter que la largeur de l'annonce corresponde au contenu de votre application, mais que sa hauteur s'ajuste de manière dynamique pour s'adapter au contenu de l'annonce. Pour gérer ce cas de figure, vous pouvez spécifier Fluid comme taille d'annonce dans l'interface utilisateur d'Ad Manager. Cela indique que la taille de l'annonce est déterminée au moment de l'exécution dans l'application. Le SDK fournit une constante GADAdSize spéciale, kGADAdSizeFluid, pour gérer ce cas de figure. La hauteur de la taille d'annonce fluide est déterminée de manière dynamique en fonction de la largeur définie par l'éditeur, ce qui permet à l'GAMBannerView d'ajuster sa hauteur pour qu'elle corresponde à celle de la création.
Requête fluide
Contrairement aux autres formats d'annonces, la taille d'annonce kGADAdSizeFluid n'a pas de largeur prédéfinie. Veillez donc à définir explicitement la largeur du cadre de la bannière dans votre code ou dans Interface Builder. Si aucune largeur n'est spécifiée, le SDK définit par défaut la hauteur de la bannière en fonction de la largeur totale de l'appareil.
Si vous effectuez une demande multitailles incluant kGADAdSizeFluid, l'annonce renvoyée est toujours placée dans un conteneur fluide et se comporte comme une annonce fluide. Si une création non fluide est renvoyée dans ce conteneur fluide, le SDK centre l'annonce dans le conteneur afin que vous n'ayez pas à modifier la contrainte de largeur chaque fois qu'une nouvelle annonce est renvoyée.
L'implémentation d'une demande fluide de taille unique et d'une demande fluide de plusieurs tailles est très similaire. La seule différence est que, pour une demande de plusieurs tailles, vous définissez la propriété validAdSizes pour spécifier les tailles d'annonces valides pour la demande d'annonce :
Swift
bannerView.validAdSizes = [nsValue(for: AdSizeFluid), nsValue(for: AdSizeBanner)]
Objective-C
_bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
NSValueFromGADAdSize(kGADAdSizeBanner) ];
Voici à quoi ressemble l'implémentation complète dans le code :
Swift
var bannerView: AdManagerBannerView!
override func viewDidLoad() {
super.viewDidLoad()
// Create the GAMBannerView and set its width to a width that makes sense for your
// app. In this example, the width is set to the width of the UIViewController's
// root view.
bannerView = AdManagerBannerView(adSize: AdSizeFluid)
var frameRect = bannerView.frame
frameRect.size.width = view.bounds.width
bannerView.frame = frameRect
// Uncomment this code for a multisize fluid request.
// bannerView.validAdSizes = [nsValue(for: AdSizeFluid), nsValue(for: AdSizeBanner)]
bannerView.adUnitID = "YOUR_AD_UNIT_ID"
bannerView.rootViewController = self
// Make the ad request.
bannerView.load(AdManagerRequest())
}
Objective-C
GAMBannerView *_bannerView;
- (void)viewDidLoad {
[super viewDidLoad];
// Create the GAMBannerView and set its width to a width that makes sense for your
// app. In this example, the width is set to the width of the UIViewController's
// root view.
_bannerView = [[GAMBannerView alloc] initWithAdSize:kGADAdSizeFluid];
CGRect frameRect = _bannerView.frame;
frameRect.size.width = CGRectGetWidth(self.view.bounds);
_bannerView.frame = frameRect;
// Uncomment this code for a multisize fluid request.
// _bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
// NSValueFromGADAdSize(kGADAdSizeBanner) ];
_bannerView.adUnitID = @"YOUR_AD_UNIT_ID";
_bannerView.rootViewController = self;
// Make the ad request.
[_bannerView loadRequest:[GAMRequest request]];
}
Pour voir un exemple d'implémentation de la taille d'annonce fluide Ad Manager, téléchargez l'application de démonstration de l'API iOS en Swift ou Objective-C.
Protocole GADAdSizeDelegate
Vous pouvez avoir besoin de connaître la hauteur d'une bannière avant que sa taille d'annonce ne change.
Le rappel adView:willChangeAdSizeTo: avertit son délégué avant que la vue de la bannière ne passe au nouveau GADAdSize. Pour être averti avant que la vue de la bannière ne passe à la nouvelle taille d'annonce, votre classe doit être conforme au protocole GADAdSizeDelegate.
Voici un exemple d'implémentation du rappel adView:willChangeAdSizeTo: qui montre comment obtenir la nouvelle largeur et la nouvelle hauteur de la bannière :
Swift
// To be notified before the banner's ad size changes, your view controller class must
// conform to the GADAdSizeDelegate protocol.
bannerView.adSizeDelegate = self
// MARK: - GADAdSizeDelegate
func adView(_ bannerView: BannerView, willChangeAdSizeTo adSize: AdSize) {
let height = adSize.size.height
let width = adSize.size.width
}
Objective-C
// To be notified before the banner's ad size changes, your view controller class must
// conform to the GADAdSizeDelegate protocol.
_bannerView.adSizeDelegate = self;
#pragma mark - GADAdSizeDelegate
- (void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)adSize {
CGFloat height = adSize.size.height;
CGFloat width = adSize.size.width;
}