Banner-Anzeigen integrieren

Überblick

Vungle Banner befindet sich derzeit in der BETA-Phase. Wenden Sie sich für den Zugang direkt an Ihren Kontomanager, um einen erfolgreichen Start zu gewährleisten.

Ab Vungle SDK v6.5.1 unterstützt Vungle Banneranzeigen. Sowohl MREC- als auch Banneranzeigen erfordern API-Version 16 oder höher.

Ähnlich wie MREC-Anzeigen sind Bannerwerbevideos rechteckige Anzeigen, die an einer beliebigen Stelle im Layout der Anwendung platziert und in der Regel oben oder unten auf dem Bildschirm angezeigt werden, sodass der Benutzer während der Wiedergabe der Anzeige weiterhin mit der Anwendung interagieren kann. Die Containergröße zum Rendern von Banneranzeigen kann 320x50, 300x50 oder 728x90 (für Tablets) betragen.

Bannergröße Abmessungen

AdConfig.AdSize.BANNER

320x50

AdConfig.AdSize.BANNER_SHORT

300x50

AdConfig.AdSize.BANNER_LEADERBOARD

728x90 (für Tablets)

Schritt 1: Vollständige Basisintegration

Um Banneranzeigen in Ihre Android- oder Amazon-App zu integrieren, befolgen Sie zunächst die Anweisungen im Artikel zum Thema Basisintegration. Dieser Artikel enthält ergänzende Informationen und setzt voraus, dass Sie die Basisintegration bereits abgeschlossen haben.

Schritt 2. Implementieren Sie Event Listener

Sie können generische Callbacks nutzen, indem Sie LoadAdCallback zum Laden von Ereignissen implementieren und PlayAdCallback zum Abspielen von Werbung, oder Inline-Callbacks verwenden, wenn Sie loadAd und playAd aufrufen.

LoadAdCallback implementieren

6.5,0 und höher Veraltet
private final LoadAdCallback vungleLoadAdCallback = new LoadAdCallback() { 
  @Override
  public void onAdLoad(String id) { 
    // Ad has been successfully loaded for the placement
  } 

  @Override 
  public void onError(String id, VungleException exception) { 
    // Ad has failed to load for the placement
  }
};
Überschreibbare Methoden Beschreibung
onAdLoad(String id) Wird aktiviert, wenn die Anzeige erfolgreich geladen wurde und zur Platzierung abgespielt wird
onError(String id) Wird aufgerufen, wenn beim Versuch, eine Werbung abzuspielen, ein Fehler auftritt. Sie können die Fehlermeldung unter getLocalizedMessage von VungleException überprüfen und getExceptionCode zur Fehlerbehebung verwenden.

PlayAdCallback implementieren

6.6.0 und höher Veraltet
private final PlayAdCallback vunglePlayAdCallback = new PlayAdCallback() {
  @Override
  public void onAdStart(String id) { 
    // Ad experience started
  }

  @Override
  public void onAdEnd(String id) {
    // Ad experience ended
  }

  @Override
  public void onAdClick(String id) {
    // User clicked on ad
} @Override public void onAdRewarded(String id) { // User earned reward for watching an ad } @Override public void onAdLeftApplication(String id) { // User has left app during an ad experience } @Override public void onError(String id, VungleException exception) { // Ad failed to play } };
Überschreibbare Methoden Beschreibung
onAdStart(String id) Wird aktiviert, wenn die Anzeige erfolgreich gestartet und auf dem Gerät angezeigt wird.
onAdEnd(String id) Wird aktiviert, wenn das gesamte Werbung abgeschlossen ist, kurz bevor das Steuerelement wieder an die hostende Anwendung zurückgegeben wurde.
onAdClick(String id) Wird aufgerufen, wenn der Benutzer auf eine Videoanzeige oder einen Download-Button geklickt hat.
onAdRewarded(String id) Wird aktiviert, wenn sich der Benutzer 80% des Videos mit Belohnungsanreiz angeschaut hat und dafür belohnt werden soll. Die Belohnung des Benutzers sollte genau hier stattfinden und wird nur bei Werbung mit Belohnungsanreiz ausgelöst.
onAdLeftApplication(String id) Wird aktiviert, wenn der Benutzer die Anwendung verlässt, noch bevor die Anzeige vollständig abgespielt wurde, beispielsweise, indem er die beworbenen Shop-Seite aufuft.
onAdError(String id, VungleException exception) Wird aufgerufen, wenn beim Versuch, eine Werbung abzuspielen, ein Fehler auftritt. Sie können die Fehlermeldung unter getLocalizedMessage von VungleException überprüfen und getExceptionCode zur Fehlerbehebung verwenden.

Schritt 3: Laden, Anzeigen und Schließen einer Banneranzeige

Laden einer Banneranzeige

Das Laden einer Banneranzeige funktioniert abweichend von anderen Anzeigenformaten. Es gibt eine spezielle Banners-API, die Sie zum Laden, Abspielen und Überprüfen der Anzeigenverfügbarkeit verwenden. Sie müssen die Größe des zu ladenden Banners angeben, damit es durch das SDK automatisch mit dem Zeitintervall aktualisiert wird, das Sie auf dem Dashboard konfiguriert haben. Sie müssen die Platzierung auch so konfigurieren, dass ein Bannerfeed unterstützt wird.

  • Laden Sie eine Banneranzeige, indem Sie die folgende loadBanner-Methode aufrufen:
    Banners.loadBanner("BANNER_ID", AdConfig.AdSize.BANNER, vungleLoadAdCallback);
  • Prüfen Sie die Verfügbarkeit von Banneranzeigen, indem Sie die folgende canPlayAd-Methode aufrufen:
    Banners.canPlayAd(ad.placementReferenceId, AdConfig.AdSize.BANNER);

Anzeigen einer Banneranzeige

Da die Größe der Ansicht fest vorgegeben ist, müssen Sie den für die Anzeige von Bannerwerbung verwendeten Container in einer der unterstützten Größen angeben: 320x50, 300x50 oder 728x90 (für Tablets). Sie können die Ansicht an einer beliebigen Stelle auf dem Bildschirm platzieren. Dieser Container ist ein LayOut. Seine Größe muss gleich oder größer als die Größe des von Ihnen verwendeten Banners sein. Sie können diesen LayOut an einer beliebigen Stelle auf dem Bildschirm platzieren. Dann müssen Sie die Größe des verwendeten Banners über die API Banners übergeben.

Übergeben Sie dieses Objekt beim Aufruf von Banners.loadBanner, um die Größe der Anzeige anzugeben, und verwenden Sie Banners.getBanner, um das Anzeigenobjekt Banners zu erhalten. Rufen Sie schließlich die addView-Methode auf, um den Container mit der Banneranzeige zu verknüpfen.

private RelativeLayout bannerContainer = findViewById(...);
// Check for banner ad availability and display
if (Banners.canPlayAd("BANNER_ID", AdConfig.AdSize.BANNER)) {
  VungleBanner vungleBanner = Banners.getBanner("BANNER_ID", AdConfig.AdSize.BANNER, vunglePlayAdCallback);
  bannerContainer.addView(vungleBanner);
}

Schließen einer Banneranzeige

Da die Ansicht der Banneranzeige zur Container-Ansicht hinzugefügt wurde, muss diese auch entfernt werden, falls die Anzeigenansicht vom Bildschirm entfernt wird, die Aktivität oder das Fragment gelöscht oder der Container der übergeordneten Ansicht wiederverwendet oder gelöscht wird. Wenn Sie versuchen, eine weitere Banneranzeige abzuspielen, ohne die vorherige zu schließen, kann ein unerwartetes Verhalten der App die Folge sein.

vungleBanner.destroyAd();

Schritt 4: Verwenden Sie unsere VungleBanner-API für Erweiterte Kontrolle (optional)

In den meisten Fällen ist die oben beschriebene Integration ausreichend, und VungleBanner wird verwaltet. Wenn sich die Ansicht VungleBanner jedoch innerhalb einer Liste oder einer RecyclerView befindet, funktioniert das verwaltete VungleBanner nicht korrekt. Sobald der Benutzer die Anzeige vom Bildschirm herunter- und zurückscrollt, ist die Anzeige abgeschlossen und nicht mehr vorhanden. Für solche Fälle stellen wir eine erweiterte API für eine präzisere Kontrolle des VungleBanner zur Verfügung.

API der VungleBanner-Klasse

Diese APIs ermöglichen Entwicklern Feinabstimmung darüber, wie die VungleBanner über verschiedene Lebenszyklus-Ereignisse in der Entwickleranwendung zu behandeln ist. In den meisten Anwendungsfällen brauchen Entwickler diese Methoden nicht aufzurufen. Es genügt, einfach eine VungleBanner in eine übergeordnete Ansicht hinzuzufügen.

In seltenen Fällen wird jedoch entweder eine Ansicht wiederverwertet (z. B. eine RecyclerView, ListView usw.), oder wir müssen die Sichtbarkeit manuell behandeln (bei einigen älteren Android-Geräten wird WebView nicht automatisch angehalten, wenn es vom Bildschirm gelöscht wird).

Name Funktion Hinweise
disableLifeCycleManagement(boolean disabled) Aufruf zur Deaktivierung der automatischen Bannerverwaltung Muss auf „wahr“ gesetzt werden, damit renderAd und setAdVisibility funktionieren
renderAd* Rendert die Anzeige, wenn sie nicht sichtbar ist Es kann auch neue Anzeige laden
setAdVisibility* Benachrichtigt den Ansichtscontainer, wenn das Banner auf dem Bildschirm sichtbar ist Banner anhalten und fortsetzen
destroyAd Aufruf zur Zerstörung, wenn der Ansichtscontainer nicht mehr benötigt wird und nicht mehr verwendbar ist Gibt Banner-Ressourcen frei
finishAd* Stoppt die aktuelle Anzeige, sendet einen Bericht und erlaubt das Laden einer weiteren Anzeige im Anschluss (gilt nur für eine bestimmte Integration in RecyclerView oder ListView) Gibt Banner-Ressourcen frei

*Sie müssen vungleBannerAd.disableLifeCycleManagement(true) aufrufen, bevor Sie diese API verwenden können.

Verwaltete und nicht verwaltete VungleBanner Ansichten

Wenn Sie ein VungleBanner erhalten, handelt es sich standardmäßig um eine verwaltete VungleBanner-Ansicht. Dies bedeutet, dass Vungle in dem Moment, in dem Sie diese Ansicht einem übergeordneten Container hinzufügen, steuert, wann eine Anzeige angezeigt, wann sie gelöscht und wann der Bericht gesendet werden soll. Sichtbarkeitsereignisse werden ebenfalls berücksichtigt, und Entwickler müssen das SDK nicht benachrichtigen, wenn ein Banneransichtsobjekt auf dem Bildschirm angezeigt wird. In Fällen, in denen ein Entwickler keine VungleBanner-Ansicht innerhalb einer wiederverwertbaren Ansicht oder eines ViewHolder-Musters hat, ist dies die bevorzugte Methode zur Verwendung von VungleBanner.

In den Fällen, in denen sich eine VungleBanner-Ansicht innerhalb einer ListView- oder RecyclerView-Ansicht befindet, funktioniert das VungleBanner nicht ordnungsgemäß. Sobald der Benutzer die Anzeige vom Bildschirm herunter- und zurückscrollt, wird die Anzeige gelöscht.

BannerFlowChart.png

Für diese Fälle haben wir die disableLifeCycleManagement(boolean disable)-API hinzugefügt, damit Entwickler den Lebenszyklus von VungleBanner manuell handhaben können.

Bevor Sie das VungleBanner einer Ansicht hinzufügen oder die Ansicht anbinden, wenn Sie Folgendes festlegen:

vungleBannerAd.disableLifeCycleManagement(boolean disabled)

Sie müssen Folgendes anrufen:

  • VungleBanner.renderAd(), wenn die Ansicht gebunden ist
  • VungleBanner.setAdVisibility(true|false), falls die Anzeige erneut gezeigt wird oder nicht mehr sichtbar ist
  • VungleBanner.destroyAd(), wenn das Objekt VungleBanner nicht mehr benötigt wird

Schritt 5. So passen Sie Banneranzeigen an (optional)

Sie haben die Möglichkeit, Werbung durch Angabe eines neuen adConfig-Objekts für playAd individuell anzupassen. Wenn das AdConfig-Objekt Null ist , wird die Werbung mit der Standardkonfiguration abgespielt. Wenn es nicht Null ist, überschreibt es die AdConfig-Einstellung. Es folgt ein Beispiel zur Anwendung von AdConfig:

Vungle.playAd(placementReferenceID, adConfig, vunglePlayAdCallback);

Im obigen Beispiel wird das Objekt adConfig verwendet, das angepasste Konfigurationsoptionen enthält. Definieren Sie das Objekt AdConfig wie angezeigt:

AdConfig adConfig = new AdConfig();
adConfig.setAdOrientation(AdConfig.AUTO_ROTATE);
adConfig.setMuted(true);
Vungle.playAd(placementReferenceID, adConfig, vunglePlayAdCallback);

In der folgenden Tabelle werden die verfügbaren AdConfig-Optionen für Banneranzeigen aufgelistet:

Option Beschreibung

setMuted

‚False‘ (falsch), wenn das Video mit den Audioeinstellungen starten soll, die denen der Anwendung entsprechen, in die es eingebettet ist; ,true‘ - (wahr), wenn es beim Start stummgeschaltet sein soll

setOrdinal

benötigt einen Integerwert als Nummerierung, um die Anzahl der Werbeanzeigen zu erfassen, die in einer Sitzung abgespielt wurden

Hinweis: Sie können dasselbe AdConfig-Objekt für mehrere Werbungen verwenden.

Best Practices

  1. Bevor Sie versuchen, eine Banneranzeige einzublenden, versuchen Sie immer zu prüfen, ob die übergeordnete Aktivität beendet ist, bevor Sie die VungleBanner an eine Ansicht binden.
    if (activity != null && activity.isFinishing()) {
      return;
    }
  2. Ändern Sie nicht die LayoutParams von VungleBanner. Dies könnte sich negativ auf die Darstellung des Banners auswirken und möglicherweise dazu führen, dass Ihre Anzeige nicht sichtbar ist.
  3. Wenn Sie ein normales Banner (320x50) anfordern, stellen Sie sicher, dass Ihr übergeordneter Container mindestens 320dp x 50dp groß ist.

Beispielcode für fortgeschrittene Integration

VungleBannerAdAdapter.java

Questions?

Need further assistance, feel free to reach out to us, we’re here to help!

War dieser Beitrag hilfreich?