Ü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 |
|
320x50 |
|
300x50 |
|
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
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
}
};
// 6.4.x & below
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, Throwable throwable) {
// 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
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
}
};
// 6.5.x & below
private final PlayAdCallback vunglePlayAdCallback = new PlayAdCallback() {
@Override
public void onAdStart(String placementReferenceId) {
// Ad experience started
}
// Deprecated
@Override
public void onAdEnd(String placementReferenceId, boolean completed, boolean isCTAClicked) {
// Invoked when the ad experience is completed
// isCTAClicked flag indicates whether CTA download button has been triggered
// completed flag will indicate whether user has watched 80% of video or longer.
}
@Override
public void onError(String placementReferenceId, 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.
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 ObjektVungleBanner
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 |
|
‚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 |
|
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
- 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; }
- Ändern Sie nicht die
LayoutParams
vonVungleBanner
. Dies könnte sich negativ auf die Darstellung des Banners auswirken und möglicherweise dazu führen, dass Ihre Anzeige nicht sichtbar ist. - Wenn Sie ein normales Banner (320x50) anfordern, stellen Sie sicher, dass Ihr übergeordneter Container mindestens 320dp x 50dp groß ist.