Banneranzeigen

Banneranzeigen werden oben oder unten auf dem Gerätebildschirm an einer bestimmten Stelle im App-Layout platziert. Sie bleiben auf dem Bildschirm, während Nutzer mit der App interagieren, und können nach einer bestimmten Zeit automatisch aktualisiert werden. Wenn Sie noch keine Erfahrung mit mobiler Werbung haben, ist dies ein guter Ausgangspunkt. Fallstudie

In diesem Leitfaden erfährst du, wie du Banneranzeigen vonAdMob in eine Android-App einbindest. Zusätzlich zu Code-Snippets und Anleitungen findest du hier Informationen zur korrekten Größenanpassung von Bannern und Links zu weiteren Ressourcen.

Voraussetzungen

Dem Layout AdView hinzufügen

Der erste Schritt beim Anzeigen eines Banners ist das Platzieren von AdView im Layout für Activity oder Fragment, in dem es angezeigt werden soll. Am einfachsten ist es, wenn Sie der entsprechenden Datei eine XML-Layoutdatei hinzufügen. Hier ein Beispiel für eine Aktivität AdView:

# main_activity.xml
...
  <com.google.android.gms.ads.AdView
      xmlns:ads="http://schemas.android.com/apk/res-auto"
      android:id="@+id/adView"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerHorizontal="true"
      android:layout_alignParentBottom="true"
      ads:adSize="BANNER"
      ads:adUnitId="ca-app-pub-3940256099942544/6300978111">
  </com.google.android.gms.ads.AdView>
...

Beachten Sie die folgenden erforderlichen Attribute:

  • ads:adSize: Legen Sie die gewünschte Anzeigengröße fest. Wenn Sie die durch die Konstante definierte Standardgröße nicht verwenden möchten, können Sie stattdessen eine benutzerdefinierte Größe festlegen. Weitere Informationen finden Sie unten im Abschnitt Bannergröße.
  • ads:adUnitId: Legen Sie dies auf die eindeutige Kennung fest, die dem Anzeigenblock in Ihrer App zugewiesen wird, in dem Anzeigen ausgeliefert werden sollen. Wenn Sie Banneranzeigen in verschiedenen Aktivitäten schalten, ist für jede ein Anzeigenblock erforderlich.

Alternativ kannst du AdView programmatisch erstellen:

Java

AdView adView = new AdView(this);

adView.setAdSize(AdSize.BANNER);

adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
// TODO: Add adView to your view hierarchy.

Kotlin

val adView = AdView(this)

adView.adSize = AdSize.BANNER

adView.adUnitId = "ca-app-pub-3940256099942544/6300978111"
// TODO: Add adView to your view hierarchy.

Immer mit Testanzeigen testen

Verwenden Sie beim Erstellen und Testen Ihrer Apps Testanzeigen statt Live-Produktionsanzeigen. Andernfalls kann Ihr Konto gesperrt werden.

Am einfachsten laden Sie die Testanzeigen mit der Test-Anzeigenblock-ID für Android-Banner:

ca-app-pub-3940256099942544/6300978111

Es wurde speziell für die Rückgabe von Testanzeigen für jede Anfrage konfiguriert und kann in Ihren eigenen Apps beim Codieren, Testen und Debuggen verwendet werden. Ersetzen Sie diese vor dem Veröffentlichen Ihrer App einfach durch Ihre eigene Anzeigenblock-ID.

Weitere Informationen zur Funktionsweise der Testanzeigen des Mobile Ads SDK finden Sie unter Testanzeigen.

Anzeige laden

Sobald AdView eingerichtet ist, wird im nächsten Schritt eine Anzeige geladen. Mit der Methode loadAd() in der Klasse AdView abgeschlossen. Sie verwendet einen AdRequest-Parameter, der Laufzeitinformationen (z. B. Targeting-Informationen) zu einer einzelnen Anzeigenanfrage enthält.

Hier siehst du ein Beispiel für das Laden einer Anzeige mit der onCreate()-Methode einer Activity:

MainActivity (Auszug)

Java

package ...

import ...
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;

public class MainActivity extends AppCompatActivity {
    private AdView mAdView;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        MobileAds.initialize(this, new OnInitializationCompleteListener() {
            @Override
            public void onInitializationComplete(InitializationStatus initializationStatus) {
            }
        });

        mAdView = findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);
    }
}

Kotlin

package ...

import ...
import com.google.android.gms.ads.AdRequest
import com.google.android.gms.ads.AdView

class MainActivity : AppCompatActivity() {

    lateinit var mAdView : AdView

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        MobileAds.initialize(this) {}

        mAdView = findViewById(R.id.adView)
        val adRequest = AdRequest.Builder().build()
        mAdView.loadAd(adRequest)
    }
}

Fertig! In Ihrer App können jetzt Banneranzeigen ausgeliefert werden.

Anzeigenereignisse

Um das Verhalten Ihrer Anzeige weiter anzupassen, können Sie eine Reihe von Ereignissen im Lebenszyklus der Anzeige nutzen: Laden, Öffnen, Schließen usw. Sie können diese Ereignisse über die Klasse AdListener überwachen.

Wenn Sie einen AdListener mit AdView verwenden möchten, rufen Sie die Methode setAdListener() auf:

Java

mAdView.setAdListener(new AdListener() {
    @Override
    public void onAdClicked() {
      // Code to be executed when the user clicks on an ad.
    }

    @Override
    public void onAdClosed() {
      // Code to be executed when the user is about to return
      // to the app after tapping on an ad.
    }

    @Override
    public void onAdFailedToLoad(LoadAdError adError) {
      // Code to be executed when an ad request fails.
    }

    @Override
    public void onAdImpression() {
      // Code to be executed when an impression is recorded
      // for an ad.
    }

    @Override
    public void onAdLoaded() {
      // Code to be executed when an ad finishes loading.
    }

    @Override
    public void onAdOpened() {
      // Code to be executed when an ad opens an overlay that
      // covers the screen.
    }
});

Kotlin

mAdView.adListener = object: AdListener() {
    override fun onAdClicked() {
      // Code to be executed when the user clicks on an ad.
    }

    override fun onAdClosed() {
      // Code to be executed when the user is about to return
      // to the app after tapping on an ad.
    }

    override fun onAdFailedToLoad(adError : LoadAdError) {
      // Code to be executed when an ad request fails.
    }

    override fun onAdImpression() {
      // Code to be executed when an impression is recorded
      // for an ad.
    }

    override fun onAdLoaded() {
      // Code to be executed when an ad finishes loading.
    }

    override fun onAdOpened() {
      // Code to be executed when an ad opens an overlay that
      // covers the screen.
    }
}

Jede der überschreibbaren Methoden in AdListener entspricht einem Ereignis im Lebenszyklus einer Anzeige.

Überschreibbare Methoden
onAdClicked() Die Methode onAdClicked() wird aufgerufen, wenn ein Klick für eine Anzeige erfasst wird.
onAdClosed() Die Methode onAdClosed() wird aufgerufen, wenn ein Nutzer nach dem Ansehen einer Ziel-URL einer Anzeige zur App zurückkehrt. Ihre App kann sie verwenden, um angehaltene Aktivitäten fortzusetzen oder andere Aufgaben auszuführen, die zur Vorbereitung auf die Interaktion erforderlich sind. Eine Implementierung der Anzeigen-Listener-Methoden in der Android API Demo App finden Sie im AdMob-Beispiel AdListener.
onAdFailedToLoad() Die Methode onAdFailedToLoad() ist die einzige, die einen Parameter enthält. Der Fehlerparameter vom Typ LoadAdError beschreibt, welcher Fehler aufgetreten ist. Weitere Informationen finden Sie in der Dokumentation zu Fehlern beim Laden von Anzeigen.
onAdImpression() Die Methode onAdImpression() wird aufgerufen, wenn eine Impression für eine Anzeige erfasst wird.
onAdLoaded() Die Methode onAdLoaded() wird ausgeführt, wenn eine Anzeige vollständig geladen ist. Wenn Sie das Hinzufügen des AdView zu Ihrer Aktivität oder Ihrem Fragment verzögern möchten, bis Sie beispielsweise sicher sind, dass eine Anzeige geladen wird, können Sie das hier hier tun.
onAdOpened() Die Methode onAdOpened() wird aufgerufen, wenn eine Anzeige ein Overlay öffnet, das den Bildschirm verdeckt.

In der folgenden Tabelle sind die standardmäßigen Bannergrößen aufgeführt.

Größe in dp (BxH) Beschreibung Verfügbarkeit AdSize-Konstante
320 × 50 Banner Telefone und Tablets BANNER
320 × 100 Großes Banner Telefone und Tablets LARGE_BANNER
300 x 250 IAB-Medium Rectangle Telefone und Tablets MEDIUM_RECTANGLE
468 × 60 IAB-Banner in Originalgröße Tablets FULL_BANNER
728 x 90 IAB-Bestenliste Tablets LEADERBOARD
Angegebene Breite x Adaptive Höhe Adaptives Banner Telefone und Tablets
Bildschirmbreite x 32|50|90 Smart-Banner Telefone und Tablets SMART_BANNER
Weitere Informationen zu adaptiven Bannern, die als Ersatz für Smart-Banner dienen

Legen Sie zum Definieren einer benutzerdefinierten Bannergröße den gewünschten AdSize fest, wie hier gezeigt:

Java

AdSize adSize = new AdSize(300, 50);

Kotlin

val adSize = AdSize(300, 50)

Hardwarebeschleunigung für Videoanzeigen

Damit Videoanzeigen in Ihren Ansichten für Banneranzeigen präsentiert werden, muss die Hardwarebeschleunigung aktiviert sein.

Die Hardwarebeschleunigung ist standardmäßig aktiviert, kann jedoch bei einigen Apps deaktiviert werden. Wenn dies auf Ihre App zutrifft, empfehlen wir, die Hardwarebeschleunigung für Aktivitätsklassen zu aktivieren, die Anzeigen verwenden.

Hardwarebeschleunigung aktivieren

Wenn Ihre App global nicht richtig funktioniert, können Sie sie auch für einzelne Aktivitäten steuern. Zum Aktivieren oder Deaktivieren der Hardwarebeschleunigung können Sie das Attribut android:hardwareAccelerated für die Elemente <application> und <activity> in Ihrem AndroidManifest.xml verwenden. Im folgenden Beispiel wird die Hardwarebeschleunigung für die gesamte Anwendung aktiviert, jedoch für eine Aktivität deaktiviert:

<application android:hardwareAccelerated="true">
    <!-- For activities that use ads, hardwareAcceleration should be true. -->
    <activity android:hardwareAccelerated="true" />
    <!-- For activities that don't use ads, hardwareAcceleration can be false. -->
    <activity android:hardwareAccelerated="false" />
</application>

Weitere Informationen zu Optionen für die Steuerung der Hardwarebeschleunigung finden Sie im Leitfaden zur Hardwarebeschleunigung. Wenn die Aktivität deaktiviert ist, können einzelne Anzeigenaufrufe nicht für die Hardwarebeschleunigung aktiviert werden, sodass für die Aktivität selbst die Hardwarebeschleunigung aktiviert sein muss.

Weitere Informationen

Beispiele auf GitHub

  • Beispiel für Banneranzeigen: Java | Kotlin

  • Demo für erweiterte Funktionen: Java | Kotlin

  • Beispiel-App für Banner-RecyclerView: Java

Videoanleitungen zur Garage für mobile Anzeigen

Erfolgsgeschichten