Les bannières adaptatives vous permettent de spécifier la largeur d'une annonce afin de déterminer la taille d'annonce optimale pour chaque appareil. Contrairement aux bannières adaptatives ancrées, les bannières adaptatives intégrées sont plus grandes, plus hautes et n'utilisent pas de hauteurs fixes. Les bannières adaptatives intégrées ont une hauteur variable. Ces bannières peuvent remplir l'intégralité de l'écran ou une hauteur maximale que vous spécifiez.
Ce guide explique comment créer des bannières adaptatives intégrées et définir leur taille.
L'image suivante montre des bannières adaptatives intégrées dans un contenu à faire défiler :
Avant de commencer
Avant de continuer, assurez-vous d'avoir configuré les bannières.
Pour voir un exemple complet de bannière adaptative intégrée, téléchargez l'application exemple suivante :
Implémenter des bannières adaptatives intégrées
Pour implémenter des bannières adaptatives intégrées, vous devez définir la taille de l'annonce, créer une demande d'annonce et charger l'annonce.
Pour dimensionner une bannière adaptative intégrée, déterminez la largeur de l'annonce. Voici quelques approches courantes :
- Utilisation de la largeur plein écran.
- Utiliser la largeur de la mise en page parent contenant l'annonce.
- Ajustement de la largeur pour tenir compte des zones sûres de l'appareil.
Lorsque vous créez l'objet de taille d'annonce, utilisez cette largeur calculée.
Procédez comme suit :
Obtenez la largeur de votre appareil ou définissez une largeur :
Kotlin
private val adWidth: Int get() { val displayMetrics = resources.displayMetrics val adWidthPixels = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { val windowMetrics: WindowMetrics = this.windowManager.currentWindowMetrics windowMetrics.bounds.width() } else { displayMetrics.widthPixels } val density = displayMetrics.density return (adWidthPixels / density).toInt() }Java
public int getAdWidth() { DisplayMetrics displayMetrics = getResources().getDisplayMetrics(); int adWidthPixels = displayMetrics.widthPixels; if (VERSION.SDK_INT >= VERSION_CODES.R) { WindowMetrics windowMetrics = this.getWindowManager().getCurrentWindowMetrics(); adWidthPixels = windowMetrics.getBounds().width(); } float density = displayMetrics.density; return (int) (adWidthPixels / density); }Pour obtenir un objet de taille d'annonce adaptative intégrée, utilisez une méthode statique sur la classe de taille d'annonce :
Kotlin
val adView = AdView(this@MainActivity) adView.setAdSize(AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, adWidth))Java
final AdView adView = new AdView(MainActivity.this); adView.setAdSize(AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, getAdWidth()));
Définissez une taille d'annonce inférieure ou égale à la taille de l'écran de l'appareil.
Pour déterminer la taille maximale de l'écran, utilisez la méthode Resources.getDisplayMetrics. Les dimensions de l'objet AdSize utilisent des pixels indépendants de la densité (dp). Pour effectuer la comparaison, convertissez la taille de l'écran de pixels en dp.
Pour en savoir plus sur les contraintes de taille, consultez Résoudre les problèmes d'impressions inachevées dans Ad Manager.
Si vous devez mettre à jour ou créer des éléments de campagne pour utiliser des bannières adaptatives, consultez Configurer des éléments de campagne pour les bannières adaptatives.
Définir la mise en page de la bannière adaptative intégrée
Pour précharger une bannière adaptative intégrée pour une mise en page spécifique, utilisez les méthodes suivantes :
AdSize.getPortraitInlineAdaptiveBannerAdSize(Context context, int width)AdSize.getLandscapeInlineAdaptiveBannerAdSize(Context context, int width)
Si votre application est compatible avec les vues portrait et paysage, et que vous souhaitez précharger une bannière adaptative dans la mise en page actuelle, utilisez la méthode AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width).
Cette méthode charge une annonce dans la mise en page actuelle.
Limiter la hauteur des bannières adaptatives intégrées
Par défaut, les bannières adaptatives intégrées créées sans valeur maxHeight ont une hauteur maximale égale à celle de l'appareil. Pour limiter la hauteur de la bannière adaptative intégrée, utilisez la méthode AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight).