Bei adaptiven Bannern können Sie die Breite einer Anzeige angeben, um die optimale Anzeigengröße für jedes Gerät zu bestimmen. Im Gegensatz zu adaptiven Ankerbannern sind adaptive Inline-Banner größer und höher und haben keine feste Höhe. Adaptive Inline-Banner haben eine variable Höhe. Diese Banner können den gesamten Bildschirm oder eine von Ihnen angegebene maximale Höhe einnehmen.
In diesem Leitfaden wird beschrieben, wie Sie adaptive Inline-Banner erstellen und die Bannergröße festlegen.
Das folgende Bild zeigt adaptive Inline-Banner in scrollbaren Inhalten:
Hinweis
Bevor Sie fortfahren, müssen Sie Banneranzeigen einrichten.
Ein vollständiges Beispiel für ein adaptives Inline-Banner finden Sie in der folgenden Beispiel-App:
Adaptive Inline-Banner implementieren
Wenn Sie adaptive Inline-Banner implementieren möchten, legen Sie die Anzeigengröße fest, erstellen eine Anzeigenanfrage und laden die Anzeige.
Um die Größe eines adaptiven Inline-Banners festzulegen, bestimmen Sie die Anzeigenbreite. Dabei sind folgende Ansätze üblich:
- Die volle Bildschirmbreite verwenden.
- Die Breite des übergeordneten Layouts verwenden, das die Anzeige enthält.
- Die Breite an die sicheren Bereiche des Geräts anpassen.
Verwenden Sie diese berechnete Breite, wenn Sie das Anzeigengrößenobjekt erstellen.
Im folgenden Beispiel wird die Anzeigengröße festgelegt, eine Anzeigenanfrage erstellt und die Anzeige geladen:
Kotlin
private fun loadAd() {
// Create an inline adaptive ad size. 320 is a placeholder value.
// Replace 320 with your banner container width.
val adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, 320)
// Step 1 - Create a BannerAdRequest object with ad unit ID and size.
val adRequest = BannerAdRequest.Builder("AD_UNIT_ID", adSize).build()
// Step 2 - Load the ad.
BannerAd.load(
adRequest,
object : AdLoadCallback<BannerAd> {
override fun onAdLoaded(ad: BannerAd) {
// Assign the loaded ad to the BannerAd object.
bannerAd = ad
// Step 3 - Call BannerAd.getView() to get the View and add it
// to view hierarchy on the UI thread.
activity?.runOnUiThread {
binding.bannerViewContainer.addView(ad.getView(requireActivity()))
}
}
override fun onAdFailedToLoad(loadAdError: LoadAdError) {
bannerAd = null
}
}
)
}
Java
private void loadAd() {
// Create an inline adaptive ad size. 320 is a placeholder value.
// Replace 320 with your banner container width.
AdSize adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, 320);
// Step 1 - Create a BannerAdRequest object with ad unit ID and size.
BannerAdRequest adRequest = new BannerAdRequest.Builder("AD_UNIT_ID",
adSize).build();
// Step 2 - Load the ad.
BannerAd.load(
adRequest,
new AdLoadCallback<BannerAd>() {
@Override
public void onAdLoaded(@NonNull BannerAd ad) {
// Assign the loaded ad to the BannerAd object.
bannerAd = ad;
// Step 3 - Call BannerAd.getView() to get the View and add it
// to view hierarchy on the UI thread.
if (getActivity() != null) {
getActivity()
.runOnUiThread(() ->
binding.bannerViewContainer.addView(ad.getView(getActivity())));
}
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError adError) {
bannerAd = null;
}
});
}
Layout für adaptive Inline-Banner festlegen
Wenn Sie eine adaptive Inline-Banneranzeige für ein bestimmtes Layout vorab laden möchten, verwenden Sie die folgenden Methoden:
AdSize.getPortraitInlineAdaptiveBannerAdSize(Context context, int width)AdSize.getLandscapeInlineAdaptiveBannerAdSize(Context context, int width)
Wenn Ihre App sowohl Hoch- als auch Querformat unterstützt und Sie
eine adaptive Banneranzeige im aktuellen Layout vorab laden möchten, verwenden Sie die
AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width)
Methode.
Mit dieser Methode wird eine Anzeige im aktuellen Layout geladen.
Höhe adaptiver Inline-Banner begrenzen
Standardmäßig haben adaptive Inline-Banner, die ohne einen maxHeight-Wert erstellt wurden, eine maximale Höhe, die der Gerätehöhe entspricht. Wenn Sie die Höhe adaptiver Inline-
Banner begrenzen möchten, verwenden Sie die
AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight)
Methode.