Werbebanner

Banneranzeigen nehmen einen Platz im Layout einer App ein, entweder oben oder unten auf dem Gerätebildschirm. Sie bleiben auf dem Bildschirm, während Benutzer mit der App interagieren, und können nach einer bestimmten Zeit automatisch aktualisiert werden. Wenn Sie noch keine Erfahrung mit mobiler Werbung haben, sind sie ein großartiger Ausgangspunkt.Fallstudie .

Diese Anleitung zeigt Ihnen , wie Banner - Anzeigen von integrierenAdMob in eine Android App. Neben Code-Snippets und Anweisungen enthält es auch Informationen zur richtigen Größe von Bannern und Links zu zusätzlichen Ressourcen.

Voraussetzungen

In AdView auf das Layout

Der erste Schritt in Richtung auf ein Banner Anzeige zu platzieren AdView im Layout für die Activity oder Fragment , in dem Sie möchten, um sie anzuzeigen. Dies geschieht am einfachsten, indem Sie der entsprechenden XML-Layout-Datei eine hinzufügen. Hier ist ein Beispiel , das zeigt eine Aktivität der 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 - dies auf die Anzeigengröße Stellen Sie verwenden möchten. Wenn Sie nicht die durch die Konstante definierte Standardgröße verwenden möchten, können Sie stattdessen eine benutzerdefinierte Größe festlegen. Siehe die Bannergröße Abschnitt weiter unten.
  • ads:adUnitId - Setzen Sie dies auf die eindeutige Kennung an den angegebenen Anzeigenblock in Ihrer Anwendung , wo die Anzeigen angezeigt werden soll. Wenn Sie Banneranzeigen in verschiedenen Aktivitäten schalten, benötigen Sie jeweils einen Anzeigenblock.

Sie können alternativ erstellen AdView programmatisch:

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

Stellen Sie beim Erstellen und Testen Ihrer Apps sicher, dass Sie Testanzeigen anstelle von Live-Produktionsanzeigen verwenden. Andernfalls kann Ihr Konto gesperrt werden.

Testanzeigen laden Sie am einfachsten mit unserer dedizierten Testanzeigenblock-ID für Android-Banner:

ca-app-pub-3940256099942544/6300978111

Es wurde speziell so konfiguriert, dass für jede Anfrage Testanzeigen zurückgegeben werden, und Sie können es beim Codieren, Testen und Debuggen in Ihren eigenen Apps verwenden. Stellen Sie nur sicher, dass Sie sie durch Ihre eigene Anzeigenblock-ID ersetzen, bevor Sie Ihre App veröffentlichen.

Weitere Informationen darüber , wie das Mobile Ads SDK Testanzeigen arbeiten, siehe Testanzeigen .

Anzeige laden

Sobald der AdView an seinem Platz ist, ist der nächste Schritt , eine Anzeige zu laden. Das ist mit der getan loadAd() Methode in der AdView Klasse. Es dauert einen AdRequest Parameter, die Laufzeitinformationen (wie Targeting - info) über einen Anzeigenanfrag hält.

Hier ist ein Beispiel , das zeigt , wie eine Anzeige in der laden 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)
    }
}

Das ist es! Ihre App ist jetzt bereit, Bannerwerbung anzuzeigen.

Anzeigenereignisse

Um das Verhalten Ihrer Anzeige weiter anzupassen, können Sie eine Reihe von Ereignissen im Lebenszyklus der Anzeige einbinden: Laden, Öffnen, Schließen usw. Sie können für diese Ereignisse durch die hören AdListener Klasse.

Um eine Verwendung AdListener mit AdView , rufen Sie die setAdListener() Methode:

Java

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

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

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

    @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.
    }
});

Kotlin

mAdView.adListener = object: AdListener() {
    override fun onAdLoaded() {
        // Code to be executed when an ad finishes loading.
    }

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

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

    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.
    }
}

Jede der overridable Methoden in AdListener entspricht ein Ereignis im Lebenszyklus einer Anzeige.

Überschreibbare Methoden
onAdLoaded() Die onAdLoaded() Methode ausgeführt wird , wenn eine Anzeige fertig geladen hat. Wenn Sie den verzögern wollen Hinzufügen AdView auf Ihre Aktivität oder ein Fragment , bis Sie sind sicher , wird eine Anzeige geladen werden, zum Beispiel, können Sie dies hier tun.
onAdFailedToLoad() Die onAdFailedToLoad() Methode ist die einzige, die einen Parameter enthält. Der Fehlerparameter des Typs LoadAdError beschreibt , welche Fehler aufgetreten ist . Weitere Informationen finden Sie in der Debug - Ad Lastfehler Dokumentation .
onAdOpened() Diese Methode wird aufgerufen, wenn der Nutzer auf eine Anzeige tippt.
onAdClosed() Wenn ein Nutzer nach dem Anzeigen der Ziel-URL einer Anzeige zur App zurückkehrt, wird diese Methode aufgerufen. Ihre App kann damit unterbrochene Aktivitäten wieder aufnehmen oder andere Arbeiten ausführen, die erforderlich sind, um sich für die Interaktion vorzubereiten.finden Sie in das AdMob AdListener Beispiel für eine Implementierung der Ad - Listener - Methoden in der Android API Demo App.

In der folgenden Tabelle sind die Standard-Bannergrößen aufgeführt.

Größe in dp (BxH) Beschreibung Verfügbarkeit AdSize-Konstante
320x50 Banner Telefone und Tablets BANNER
320x100 Großes Banner Telefone und Tablets LARGE_BANNER
300 x 250 IAB Medium Rechteck Telefone und Tablets MEDIUM_RECTANGLE
468x60 IAB-Banner in voller Größe Tablets FULL_BANNER
728x90 IAB-Bestenliste Tablets LEADERBOARD
Vorausgesetzt , Breite x Höhe Adaptive Adaptives Banner Telefone und Tablets N / A
Bildschirmbreite x 32 | 50 | 90 Intelligentes Banner Telefone und Tablets SMART_BANNER
Erfahren Sie mehr über Adaptive Banner , ersetzen soll Smart - Banner .

Um eine benutzerdefinierte Banner Größe zu definieren, stellen Sie Ihren gewünschten AdSize , wie hier gezeigt:

Java

AdSize adSize = new AdSize(300, 50);

Kotlin

val adSize = AdSize(300, 50)

Hardwarebeschleunigung für Videoanzeigen

Um für Video - Anzeigen in Ihrem Banner Anzeigenbesucher erfolgreich zu zeigen, Hardwarebeschleunigung muss aktiviert sein.

Die Hardwarebeschleunigung ist standardmäßig aktiviert, aber einige Apps können sie deaktivieren. Wenn dies auf Ihre App zutrifft, empfehlen wir, die Hardwarebeschleunigung für Aktivitätsklassen zu aktivieren, die Anzeigen verwenden.

Aktivieren der Hardwarebeschleunigung

Wenn sich Ihre App bei global aktivierter Hardwarebeschleunigung nicht richtig verhält, können Sie sie auch für einzelne Aktivitäten steuern. So aktivieren oder deaktivieren Hardware - Beschleunigung, können Sie das verwenden android:hardwareAccelerated Attribut für das <application> und <activity> Elemente in Ihrem AndroidManifest.xml . Im folgenden Beispiel wird die Hardwarebeschleunigung für die gesamte App 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>

Siehe die HW - Beschleunigung Führung für weitere Informationen zu den Optionen für die Hardwarebeschleunigung zu steuern. Beachten Sie, dass einzelne Anzeigenansichten nicht für die Hardwarebeschleunigung aktiviert werden können, wenn die Aktivität deaktiviert ist. Daher muss für die Aktivität selbst die Hardwarebeschleunigung aktiviert sein.

Zusätzliche Ressourcen

Beispiele auf GitHub

  • Banner - Anzeigen Beispiel: Java | Kotlin

  • Erweiterte Funktionen Demo: Java | Kotlin

  • Banner RecyclerView Beispielanwendung: Java

Video-Tutorials zur Werkstatt für mobile Anzeigen

Erfolgsgeschichten