Banneranzeigen

Banneranzeigen sind rechteckige Anzeigen, die einen Teil der App-Oberfläche einnehmen. Sie bleiben auf dem Bildschirm, während die Nutzer mit der App interagieren. am oberen oder unteren Rand des Bildschirms oder inline mit dem Content, wenn der Nutzer scrollt. Banneranzeige Anzeigen können nach einer bestimmten Zeit automatisch aktualisiert werden. Siehe Übersicht über Banneranzeigen .

In diesem Leitfaden erfahren Sie, wie Sie ankernbare adaptive Banneranzeigen einrichten. Dabei wird die Anzeigengröße für jedes Gerät anhand einer von Ihnen angegebenen Anzeigenbreite optimiert, um die Leistung zu maximieren.

Verankerte adaptive Banneranzeigen sind Anzeigen mit festem Seitenverhältnis und nicht reguläre fester Größe. Das Seitenverhältnis entspricht dem Branchenstandard 320 x 50. Einmal die verfügbare volle Breite angeben, wird eine Anzeige mit der optimalen Höhe für diese Breite auswählen. Die optimale Höhe ändert sich nicht bei Anfragen vom selben Gerät und die umgebenden Ansichten müssen sich nicht bewegen, wenn die Anzeige aktualisiert wird.

Vorbereitung

Immer mit Testanzeigen testen

Verwenden Sie beim Erstellen und Testen Ihrer Apps Testanzeigen anstelle von aktiven Produktionsanzeigen. Andernfalls kann Ihr Konto gesperrt werden.

Die einfachste Methode zum Laden von Testanzeigen ist die Verwendung unserer speziellen Test-Anzeigenblock-ID für Android-Banner:

/21775744923/example/adaptive-banner

Sie ist speziell so konfiguriert, dass bei jeder Anfrage Testanzeigen zurückgegeben werden. beim Programmieren, Testen und Debuggen in Ihren eigenen Apps verwenden. Achten Sie nur darauf, Ersetzen Sie sie vor dem Veröffentlichen Ihrer App durch Ihre Anzeigenblock-ID.

Weitere Informationen zur Funktionsweise von Testanzeigen des Mobile Ads SDK finden Sie unter Test Anzeigen:

AdView zum Layout hinzufügen

Der erste Schritt zum Einblenden eines Banners besteht darin, AdManagerAdView in das Layout Ihrer App einzufügen:

Java

// Create a new ad view.
adView = new AdManagerAdView(this);
adView.setAdUnitId(AD_UNIT);
adView.setAdSize(getAdSize());

// Replace ad container with new ad view.
adContainerView.removeAllViews();
adContainerView.addView(adView);

Kotlin

// Create a new ad view.
val adView = AdManagerAdView(this)
adView.adUnitId = AD_UNIT_ID
adView.setAdSize(adSize)
this.adView = adView

// Replace ad container with new ad view.
binding.adViewContainer.removeAllViews()
binding.adViewContainer.addView(adView)

Anzeige laden

Der nächste Schritt nach der Einrichtung von AdView ist die um eine Anzeige zu laden. Dazu wird die Methode loadAd() in der Klasse AdManagerAdView verwendet. Sie brauchen eine AdManagerAdRequest mit Laufzeitinformationen wie Targeting-Informationen zu einem für eine einzelne Anzeigenanfrage.

Im folgenden Beispiel sehen Sie, wie eine Anzeige geladen wird:

Java

// Start loading the ad in the background.
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder().build();
adView.loadAd(adRequest);

Kotlin

// Start loading the ad in the background.
val adRequest = AdManagerAdRequest.Builder().build()
adView.loadAd(adRequest)

Wenn die Anzeige nicht geladen wird, müssen Sie nicht explizit eine neue anfordern. Voraussetzung ist, dass Sie den Anzeigenblock für die Aktualisierung konfiguriert haben. Google Mobile Ads SDK die in Ad Manager angegebene Aktualisierungsrate berücksichtigt, . Wenn Sie die Aktualisierung nicht aktiviert haben, müssen Sie eine neue

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

Anzeigenereignisse

Sie können eine Reihe von Ereignissen im Lebenszyklus einer Anzeige überwachen, z. B. das Laden, Anzeigenimpression und -klick sowie Start- und Schließereignisse von Anzeigen. Es wird empfohlen, um den Callback festzulegen, bevor das Banner geladen wird.

Java

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

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

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

Ü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 Aufrufen der Ziel-URL einer Anzeige zur App zurückkehrt. Deine App kann damit angehaltene Aktivitäten fortsetzen oder andere Arbeiten ausführen, die notwendig sind, um sich für die Interaktion vorzubereiten.
onAdFailedToLoad() Die Methode onAdFailedToLoad() ist die einzige, die einen Parameter enthält. Fehlerparameter des Typs LoadAdError beschreibt, welcher Fehler aufgetreten ist. Weitere Informationen finden Sie unter Fehler beim Laden von Anzeigen beheben Dokumentation.
onAdImpression() Die onAdImpression() wird aufgerufen, wenn eine Impression für eine Anzeige aufgezeichnet wird.
onAdLoaded() Die Methode onAdLoaded() wird ausgeführt, wenn eine Anzeige vollständig geladen wurde. Wenn Sie AdManagerAdView hinzufügen zu Ihrer Aktivität oder Ihrem Fragment hinzufügen, bis Sie sicher sind, dass eine Anzeige geladen wird, können Sie das hier tun.
onAdOpened() Die onAdOpened() wird aufgerufen, wenn eine Anzeige ein Overlay öffnet, das den Bildschirm abdeckt.

Hardwarebeschleunigung für Videoanzeigen

Damit Videoanzeigen erfolgreich in Ihren Ansichten für Banneranzeigen erscheinen, benötigen Sie Hardware für Beschleunigung aktiviert sein.

Die Hardwarebeschleunigung ist standardmäßig aktiviert, wird bei einigen Apps aber möglicherweise deaktiviert . Wenn das auf deine App zutrifft, empfehlen wir, die Hardwarebeschleunigung für Activity-Klassen, die Anzeigen verwenden.

Hardwarebeschleunigung aktivieren

Wenn Ihre App mit aktivierter Hardwarebeschleunigung nicht richtig funktioniert können Sie sie auch für individuelle Aktivitäten Zum Aktivieren oder Hardwarebeschleunigung deaktivieren, kannst du die android:hardwareAccelerated verwenden für das Attribut <application> und <activity> Elemente in AndroidManifest.xml enthalten. Im folgenden Beispiel wird Hardware aktiviert Beschleunigung für die gesamte App, aber deaktiviert sie für eine Aktivität:

<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 findest du im Abschnitt zur Hardwarebeschleunigung für weitere Informationen Informationen zu Optionen zur Steuerung der Hardwarebeschleunigung Beachten Sie, dass für einzelne Anzeigenaufrufe nicht für die Hardwarebeschleunigung aktiviert werden, ist deaktiviert, sodass für die Aktivität selbst die Hardwarebeschleunigung aktiviert sein muss.

Manuelle Impressionszählung

Das manuelle Zählen von Impressionen ist nur mit Direktverkäufen und hausinternen Impressionen kompatibel mit Creatives, die direkt in Ad Manager getraffickt werden. Das sollte nicht die für Backfill-Anzeigen oder Anzeigen in Drittanbieter-Werbenetzwerken verwendet werden. Weitere Informationen finden Sie unter Zählen Impressionen und Klicks.

Sie können Impressions-Pings manuell an Ad Manager senden, wenn Sie spezielle Bedingungen für die Aufzeichnung einer Impression. Aktivieren Sie dazu eine AdManagerAdRequest für manuelle Impressionen vor dem Laden einer Anzeige:

Java

AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder()
    .setManualImpressionsEnabled(true)
    .build();

Kotlin

val adRequest = AdManagerAdRequest.Builder()
    .setManualImpressionsEnabled(true)
    .build()

Wenn Sie feststellen, dass eine Anzeige erfolgreich zurückgegeben wurde und auf dem Bildschirm zu sehen ist, können Sie eine Impression manuell erfassen:

Java

{ ad_view }.recordManualImpression();

Kotlin

AdManagerAdView.recordManualImpression()

App-Ereignisse

Mit App-Ereignissen können Sie Anzeigen erstellen, über die Nachrichten an den App-Code gesendet werden. Die App können auf Grundlage dieser Nachrichten Aktionen ausführen.

Mit AppEventListener können Sie Ad Manager-spezifische App-Ereignisse überwachen. Diese Ereignisse können jederzeit während des Lebenszyklus der Anzeige auftreten, auch bevor onAdLoaded() aufgerufen wird.

Java

public interface AppEventListener {
  void onAppEvent(String name, String info);
}

Kotlin

interface AppEventListener {
    fun onAppEvent(name: String, info: String)
}

void onAppEvent(String name, String info) wird aufgerufen, wenn ein App-Ereignis eintritt in einer Anzeige. Diese Oberfläche kann durch Ihre Aktivität oder andere -Objekt enthält:

Java

import com.google.android.gms.ads.admanager.*;

public class BannerExample extends Activity implements AppEventListener {
}

Kotlin

import com.google.android.gms.ads.admanager.*

class BannerExample : Activity(), AppEventListener {
}

und dann an AdManagerAdView übergeben:

Java

AdManagerAdView.setAppEventListener(this);

Kotlin

AdManagerAdView.appEventListener = this

Hier ist ein Beispiel, das zeigt, wie Sie die Hintergrundfarbe Ihrer App ändern können. abhängig von einem App-Ereignis mit einem Farbnamen:

Java

@Override
public void onAppEvent(String name, String info) {
  if ("color".equals(name)) {
    if ("green".equals(info)) {
      // Set background color to green.
    } else if ("blue".equals(info)) {
      // Set background color to blue.
    } else {
      // Set background color to black.
    }
  }
}

Kotlin

override fun onAppEvent(name: String?, info: String?) {
    if (name == "color") {
        when (info) {
            "green" -> {
                // Set background color to green.
            }
            "blue" -> {
                // Set background color to blue.
            }
            else -> {
                // Set background color to black.
            }
        }
    }
}

Und hier ist das entsprechende Creative, das App-Ereignisnachrichten mit Farbe an dem Listener:

<html>
<head>
  <script src="//www.gstatic.com/afma/api/v1/google_mobile_app_ads.js"></script>
  <script>
    document.addEventListener("DOMContentLoaded", function() {
      // Send a color=green event when ad loads.
      admob.events.dispatchAppEvent("color", "green");

      document.getElementById("ad").addEventListener("click", function() {
        // Send a color=blue event when ad is clicked.
        admob.events.dispatchAppEvent("color", "blue");
      });
    });
  </script>
  <style>
    #ad {
      width: 320px;
      height: 50px;
      top: 0px;
      left: 0px;
      font-size: 24pt;
      font-weight: bold;
      position: absolute;
      background: black;
      color: white;
      text-align: center;
    }
  </style>
</head>
<body>
  <div id="ad">Carpe diem!</div>
</body>
</html>

Im Beispiel für Ad Manager-App-Ereignisse finden Sie eine Implementierung von App-Ereignissen in der API-Demo-App.

Java Kotlin

Zusätzliche Ressourcen

Beispiele auf GitHub

  • Beispiel für verankerte adaptive Banneranzeigen: Java | Kotlin

Nächste Schritte

Minimierbare Banner

Minimierbare Banneranzeigen sind Banneranzeigen, die anfänglich als größere Overlay mit einer Schaltfläche zum Minimieren der Anzeige auf eine kleinere Größe. Erwägen Sie die Verwendung um die Leistung weiter zu optimieren. Weitere Informationen finden Sie unter Minimierbare Banneranzeigen.

Adaptive Inline-Banner

Adaptive Inline-Banner sind im Vergleich zu verankerten adaptiven Bannern größer und höher. Banner. Sie haben eine variable Höhe und können so hoch wie der Gerätebildschirm sein. Adaptive Inline-Banner werden gegenüber verankerten adaptiven Banneranzeigen empfohlen, Apps, die Banneranzeigen in scrollbarem Content platzieren Siehe Inline-Adaptive Details.

Weitere Themen entdecken