Banneranzeigen

In the Get Started guide, you learned how to deploy the SDK and display a test banner ad. In diesem Leitfaden werden weitere Anpassungen vorgestellt, die mit Banneranzeigen möglich sind.

Laden Sie die Android API Demo App herunter, um zu sehen, wie Anpassungen von Banneranzeigen implementiert werden.

API Demo herunterladen

Die folgenden Anzeigenformate werden unterstützt:

Größe (B x H) Beschreibung Verfügbarkeit AdSize-Konstante
320 x 50 Standardbanner Smartphones und Tablets BANNER
320 x 100 Large Banner Smartphones und Tablets LARGE_BANNER
300 x 250 IAB Medium Rectangle Smartphones und Tablets MEDIUM_RECTANGLE
468 x 60 IAB Full-Size Banner Tablets FULL_BANNER
728 x 90 IAB Leaderboard Tablets LEADERBOARD
Bildschirmbreite x 32|50|90 Smart-Banner Smartphones und Tablets SMART_BANNER

Das SDK fordert die Größe an, mit der die anfragende PublisherAdView instanziiert wurde. Ist auf dem Bildschirm des Geräts zu wenig Platz für die Bereitstellung der Anzeige verfügbar, wird nichts ausgeliefert.

Smart-Banner

Smart-Banner sind Anzeigenblöcke, in denen bildschirmbreite Banneranzeigen auf verschiedenen Geräten im Quer- und Hochformat gerendert werden können. Angesichts der zunehmenden Vielfalt von Bildschirmformaten sind Smart-Banner sehr nützlich, da die Breite des Smartphones und die jeweilige Ausrichtung erkannt werden. Die Größe der Anzeige wird entsprechend angepasst.

In Smart-Bannern sind drei Anzeigenhöhen (in geräteunabhängigen Pixeln, dp) implementiert:

  • 32: Höhe des Gerätebildschirms ≤ 400
  • 50: 400 < Höhe des Gerätebildschirms ≤ 720
  • 90: Höhe des Gerätebildschirms > 720

Bei einigen Geräten wie etwa Smartphones ist die Höhe des Bildschirms von dessen Ausrichtung abhängig. Normalerweise belegen Smart-Banneranzeigen auf Smartphones im Hochformatmodus "Vollständige Breite x 50 dp" und im Querformat "Vollständige Breite x 32 dp". Auf Tablets beträgt die Größe in beiden Ausrichtungen "Vollständige Breite x 90 dp".

Wenn eine Bildanzeige nicht den gesamten vorgesehenen Platz einnimmt, wird das Bild zentriert. Der Bereich an den Seiten wird ausgefüllt.

Wenn Sie Smart-Banner verwenden möchten, geben Sie für die Anzeigengröße die Konstante SMART_BANNER an:

PublisherAdView adView = new PublisherAdView(this);
adView.setAdSizes(AdSize.SMART_BANNER);

Benutzerdefinierte Anzeigengröße

Neben AdMob-Standardanzeigenblöcken können über DFP Anzeigenblöcke beliebiger Größe in einer App bereitgestellt werden. Die in einer Anzeigenanfrage festgelegte Größe (Breite, Höhe) muss mit den Abmessungen der in der App dargestellten Anzeige (im Beispiel unten PublisherAdView) übereinstimmen.

Beispiel:

// Define custom AdSize of 250x250 for PublisherAdView

AdSize customAdSize = new AdSize(250, 250);
PublisherAdView adView = new PublisherAdView(this);
adView.setAdSizes(customAdSize);

Die Implementierung benutzerdefinierter Anzeigengrößen in der Android API Demo App finden Sie im Beispiel für mehrere DFP-Anzeigengrößen.

Mehrere Anzeigengrößen

In DFP lassen sich mehrere Anzeigengrößen für die Auslieferung in PublisherAdView angeben. Bevor Sie diese Funktion im SDK implementieren, erstellen Sie eine Werbebuchung, die auf denselben Anzeigenblock ausgerichtet ist. Dieser ist wiederum mit Creatives unterschiedlicher Größe verknüpft.

Übergeben Sie dazu in Ihrer App einfach mehrere AdSize-Parameter an setAdSizes:

PublisherAdView adView = new PublisherAdView(this);
adView.setAdSizes(AdSize.BANNER, new AdSize(120, 20), new AdSize(250, 250));

Wenn sich die Größe von PublisherAdView bei einer Aktualisierung ändert, sollte sich das Layout automatisch an die neue Größe anpassen.

Sollte es erforderlich sein, die unterstützten Anzeigengrößen in Ihrer App zu ändern, rufen Sie einfach setAdSizes mit der neuen Größenliste auf:

// Drop support for 120x20 ad size.
adView.setAdSizes(new AdSize(250, 250), AdSize.BANNER);

Von PublisherAdView wird dann bis zur Rückgabe der nächsten Anzeige als Standardgröße die im ersten Parameter übergebene Größe verwendet.

Die Implementierung mehrerer Anzeigengrößen in der Android API Demo App finden Sie im Beispiel für mehrere DFP-Anzeigengrößen.

Impressionen manuell zählen

Sie können Impressions-Pings manuell an DFP senden, wenn eine Impression unter besonderen Bedingungen erfasst werden soll. Aktivieren Sie dazu vor dem Laden einer Anzeige eine PublisherAdRequest für manuelle Impressionen:

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

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

PublisherAdView.recordManualImpression();

App-Ereignisse

Mit App-Ereignissen können Sie Anzeigen erstellen, die Nachrichten an den App-Code senden. Anhand dieser Nachrichten werden dann Aktionen in der App ausgeführt.

Mit AppEventListener lassen sich DFP-spezifische App-Ereignisse überwachen. Diese Ereignisse können im Lebenszyklus der Anzeige jederzeit auftreten, sogar vor dem Aufruf der Methode onAdLoaded() von AdListener.

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

void onAppEvent(String name, String info) wird aufgerufen, wenn ein App-Ereignis in einer Anzeige auftritt.

Diese Schnittstelle kann durch das Objekt "Activity" oder durch ein beliebiges anderes Objekt implementiert werden:

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

public class BannerExample extends Activity implements AppEventListener {
}

Sie wird dann an PublisherAdView übergeben:

adView.setAppEventListener(this);

Dieses Beispiel zeigt, wie die Hintergrundfarbe einer App in Abhängigkeit von einem App-Ereignis mit einem Farbnamen geändert wird:

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

Und dies ist das zugehörige Creative, von dem App-Ereignisnachrichten mit der Farbe an den Listener gesendet werden:

<html>
<head>
  <script src="//media.admob.com/api/v1/google_mobile_app_ads.js"></script>
  <script>
    // Send a color=green event when ad loads.
    admob.events.dispatchAppEvent("color", "green");

    handleClick = 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" onClick="handleClick()">Carpe diem!</div>
</body>
</html>

Die Implementierung von App-Ereignissen in der Android API Demo App finden Sie im Beispiel zu DFP-App-Ereignissen.

Rückrufe für Lebenszyklusereignisse von Anzeigen

Optional können Sie Lebenszyklusereignisse der Anzeige wie Anfragefehler oder Klicks erfassen, indem Sie ein Objekt an PublisherAdView.setAdListener übergeben, das com.google.android.gms.ads.AdListener erweitert.

public abstract class AdListener {
  public void onAdLoaded();
  public void onAdFailedToLoad(int errorCode);
  public void onAdOpened();
  public void onAdClosed();
  public void onAdLeftApplication();
}

Definieren Sie eine separate Klasse, die AdListener erweitert, oder betten Sie ein AdListener-Objekt ein:

adView.setAdListener(new AdListener() {
  @Override
  public void onAdOpened() {
    // Save app state before going to the ad overlay.
  }
});

AdListener stellt eine leere Standardimplementierung für alle zugehörigen Lebenszyklusereignisse der Anzeige bereit. Es müssen nur die zu implementierenden Anzeigenereignisse überschrieben werden.

public void onAdLoaded()
Wird bei Empfang einer Anzeige aufgerufen
public void onAdFailedToLoad(int errorCode)

Wird aufgerufen, wenn eine Anzeigenanfrage scheitert. Normalerweise wird einer der folgenden Fehlercodes zurückgegeben:

  • AdRequest.ERROR_CODE_INTERNAL_ERROR
  • AdRequest.ERROR_CODE_INVALID_REQUEST
  • AdRequest.ERROR_CODE_NETWORK_ERROR
  • AdRequest.ERROR_CODE_NO_FILL
public void onAdOpened()

Wird aufgerufen, wenn eine Anzeige ein Overlay öffnet, das den gesamten Bildschirm einnimmt

public void onAdClosed()

Wird aufgerufen, wenn der Nutzer nach dem Klick auf eine Anzeige im Begriff ist, zur App zurückzukehren

public void onAdLeftApplication()

Wird aufgerufen, wenn nach dem Klicken auf eine Anzeige die App verlassen wird, um z. B. zum Browser zu wechseln

Die Implementierung der Anzeigen-Listener-Methoden in der Android API Demo App finden Sie im Beispiel für DFP-Anzeigen-Listener.

Weitere Informationen

Feedback geben zu...

SDK for DFP Users on Android