Erste Schritte mit Vungle – Android oder Amazon SDK v. 6

Dieser Artikel hilft Ihnen bei der Integration von Vungle SDK für Android oder Amazon. Ab v.5.3.0 Ihres Android SDK unterstützt Vungle Amazon OS 5.4 und höher als Plattform. Die Schritte zur Integration von Amazon SDK sind dieselben wie bei Android. Achten Sie aber darauf, die Amazon App-ID zur Integration von Amazon zu verwenden.

In diesem Artikel:

DSGVO: Empfohlene Implementierung

Seit dem 25. Mai gilt in der EU die Datenschutzgrundsatzverordnung (DSGVO). Zur Einhaltung der DSGVO haben Entwickler zwei Optionen.

  • Option 1 (empfohlen): Der Herausgeber steuert den Prozess zur Konformität mit der DSGVO auf Benutzerebene und leitet die Entscheidung des Benutzers an Vungle weiter. Entwickler können dazu die Zustimmung des Benutzers über eigene Mechanismen einholen und dann mit Vungle APIs den Zustimmungsstatus des Benutzers abfragen oder aktualisieren. Einzelheiten finden Sie im Abschnitt Anweisungen zur empfohlenen Implementierung der DSGVO.

  • Option 2: Erlauben Sie Vungle, die Anforderungen zu verwalten. Vungle zeigt europäischen Benutzern vor dem Abspielen einer Werbung einen Zustimmungsdialog an und merkt sich die Zustimmung bzw. Ablehnung des Benutzers für die nachfolgende Werbung.

Bevor Sie anfangen

Highlights der Version

  • Schnell: Initialisierung und Caching sind im Vergleich zu v5 fünfmal schneller
  • Leicht: reduzierte Methodenanzahl
    • Kern-SDK: 750 Methoden
    • Vollständige Integration einschließlich Drittanbieter-Bibliotheken: ca. 4000 Methoden
  • DSGVO-Konformität: Vungle bietet zwei Optionen zum Einholen der Zustimmung des Benutzers: Entweder Vungle oder der Herausgeber können den Prozess steuern. Neue API-Aufrufe wurden hinzugefügt.

Anforderungen

  • Android 4.0 (Ice Cream Sandwich – API-Version 14) oder höher
  • Android Support-Bibliothek v26 oder höher
  • Android targetSdkVersion 26 oder früher

Beispiel-App

Schritt 1. Das Vungle SDK in Ihr Projekt integrieren

Das Vungle SDK ist in zwei Formen verfügbar: als AAR über Maven und als JAR-Integration.

Option 1. AAR-Integration

Öffnen Sie die Projektebene build.gradle und fügen Sie eine Maven-URL im Abschnitt „Projekte“ hinzu.

allprojects {
repositories {
maven {
url 'https://jitpack.io'
}
}
}

Öffnen Sie die build.gradle-Datei für Ihre App und fügen Sie Abhängigkeiten für die Kompilierung dem Abschnitt Abhängigkeiten hinzu.

dependencies { … // Vungle SDK
compile 'com.github.vungle:vungle-android-sdk:6.2.5'
// Optional Google Play Services - Location and Basement
compile 'com.google.android.gms:play-services-basement:11.0.4'
compile 'com.google.android.gms:play-services-location:11.0.4' … }

Falls Sie das Vungle SDK über Maven integrieren, können Sie „Schritt 2. Das Vungle SDK importieren“ überspringen.

Option 2. JAR-Integration

  1. Laden Sie das Vungle SDK v. 6 herunter, entpacken Sie es, gehen Sie zum libs-Ordner, kopieren Sie alle Jar-Dateien und fügen Sie sie Ihrem libs-Ordner im Projekt hinzu.

    image1.png
  2. Öffnen Sie die Projektebene build.gradle und aktualisieren Sie den Abschnitt Repositories:

    allprojects {
    repositories {
    jcenter()
    }
    }
  3. Öffnen Sie auf Anwendungsebene die build.gradle-Datei für Ihre App und fügen Sie weitere Abhängigkeiten im Abschnitt „Abhängigkeiten“ hinzu.

    dependencies { … // Vungle SDK compile files('libs/vungle-android-sdk-6.2.5.jar') // Required Third-party Dependencies compile files('libs/android-job-1.2.0.jar') compile files('libs/cat-1.0.5.jar') compile files('libs/converter-gson-2.2.0.jar') compile files('libs/fetch-1.1.5.jar') compile files('libs/gson-2.7.jar') compile files('libs/logging-interceptor-3.7.0.jar') compile files('libs/okhttp-3.7.0.jar') compile files('libs/okio-1.12.0.jar') compile files('libs/retrofit-2.2.0.jar') compile files('libs/VNG-moat-mobile-app-kit-2.2.0.jar') // Google Play Services compile 'com.google.android.gms:play-services-gcm:11.0.4' // Required compile 'com.google.android.gms:play-services-basement:11.0.4' // Optional compile 'com.google.android.gms:play-services-location:11.0.4' // Optional // Support libraries compile 'com.android.support:support-v4:26.0.1' … } 
  4. Falls Sie das Vungle SDK manuell integrieren, können Sie mit "Schritt 2. Das Vungle SDK importieren“ fortfahren.

  5. Aktualisieren Sie AndroidManifest.xml, indem Sie folgende Zeilen Ihrem AndroidManifest.xml hinzufügen, wobei Sie den Eintragsnamen der Anwendung dem Klassennamen der Anwendung für Multidex zuweisen:
    <!--Required Permissions-->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

    <!--Optional Permissions-->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    android:networkSecurityConfig="@xml/network_security_config" >

    <activity android:name=".MainActivity">
    <intent-filter>
    <action android:name="android.intent.action.MAIN" />

    <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    </activity>

    <!-- Google Play Services -->
    <meta-data android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

    <!-- Vungle -->
    <activity
    android:name="com.vungle.warren.ui.VungleActivity"
    android:configChanges="keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize"
    android:launchMode="singleTop"
    android:theme="@android:style/Theme.Translucent.NoTitleBar" />

    <!-- android-job -->
    <service
    android:name="com.evernote.android.job.v21.PlatformJobService"
    android:exported="false"
    android:permission="android.permission.BIND_JOB_SERVICE" />
    <service
    android:name="com.evernote.android.job.v14.PlatformAlarmService"
    android:exported="false"
    android:permission="android.permission.BIND_JOB_SERVICE" />
    <service
    android:name="com.evernote.android.job.v14.PlatformAlarmServiceExact"
    android:exported="false" />
    <receiver
    android:name="com.evernote.android.job.v14.PlatformAlarmReceiver"
    android:exported="false" >
    <intent-filter>
    <!-- Keep the filter for legacy intents -->
    <action android:name="com.evernote.android.job.v14.RUN_JOB" />
    <action android:name="net.vrallev.android.job.v14.RUN_JOB" />
    </intent-filter>
    </receiver>
    <receiver
    android:name="com.evernote.android.job.JobBootReceiver"
    android:exported="false" >
    <intent-filter>
    <action android:name="android.intent.action.BOOT_COMPLETED" />
    <action android:name="android.intent.action.QUICKBOOT_POWERON" />
    <action android:name="com.htc.intent.action.QUICKBOOT_POWERON" />
    <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
    </intent-filter>
    </receiver>
    <service
    android:name="com.evernote.android.job.gcm.PlatformGcmService"
    android:enabled="true"
    tools:replace="android:enabled"/>
    <intent-filter>
    <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY" />
    </intent-filter>
    </service>
    <service
    android:name="com.evernote.android.job.JobRescheduleService"
    android:exported="false"
    android:permission="android.permission.BIND_JOB_SERVICE" />

    </application>

Schritt 2. Das Vungle SDK importieren

import com.vungle.warren.Vungle; import com.vungle.warren.AdConfig; // Custom ad configurations import com.vungle.warren.InitCallback; // Initialization callback import com.vungle.warren.LoadAdCallback; // Load ad callback import com.vungle.warren.PlayAdCallback; // Play ad callback import com.vungle.warren.VungleNativeAd; // Flex-Feed ad

Schritt 3. Das Vungle SDK initialisieren

Die Initialisierungsmethode benötigt folgende Parameter:

  • Liste der Strings für die zur Platzierung verwendeten Referenz-IDs
  • Vungle-Anwendungs-ID
  • Anwendungskontext
  • InitCallback
    • onSuccess: meldet die erfolgreiche Initialisierung des SDK
    • onError: meldet eine fehlgeschlagene Initialisierung
      • gibt IllegalArgumentException aus, wenn InitCallback null ist
      • gibt VungleException aus, wenn erforderliche Argumente fehlen oder ungültig sind
    • onAutoCacheAdAvailable: meldet abspielbereite Werbung bei Auto-Cache-Platzierung

onAutoCacheAdAvailablecallback ist als Teil des Initialisierungs-Callbacks verfügbar, da das SDK bei jeder nicht gecachten Werbung versucht, diese in die automatisch gecachte Platzierung zu übernehmen. Dies gilt auch für den erstmaligen Start des SDK oder für zuvor gecachte Werbung, die zur Platzierung abgespielt wurde. Dies bleibt so, bis der Prozess beendet wird oder die Vungle-Instanz als Datenmüll geclaimt wurde. Alle anderen Platzierungen, die nicht automatisch gecacht wurden, loadAd müssen ausdrücklich gemäß der Beschreibung in „Schritt 5. Werbung laden“ erfolgen.

private final List placement_collection = Arrays.asList("PLACEMENT_1", "PLACEMENT_2", "PLACEMENT_3"); Vungle.init(placement_collection, app_id, this.getApplicationContext(), new InitCallback() { @Override public void onSuccess() { // Initialization has succeeded and SDK is ready to load an ad or play one if there // is one pre-cached already } @Override public void onError(Throwable throwable) { // Initialization error occurred - throwable.getLocalizedMessage() contains error message } @Override public void onAutoCacheAdAvailable(String placementId) { // Callback to notify when an ad becomes available for the auto-cached placement // // NOTE: This callback works only for the auto-cached placement. Otherwise, please use // LoadAdCallback with loadAd API for loading placements. } }; 

Sie können jederzeit überprüfen, ob Vungle SDK initialisiert wurde, indem Sie die isInitialized-Methode aufrufen:

public static boolean isInitialized()

Schritt 4. Event Listener

Implementieren Sie LoadAdCallback zum Laden und PlayAdCallback zum Abspielen von Werbung, wenn Sie für alle Ereignisse einen generischen Callback verwenden möchten. Gehen Sie anderenfalls weiter zu „Schritt 5. Werbung laden“, um Inline-Callbacks zu implementieren.

// Implement LoadAdCallback
private final LoadAdCallback vungleLoadAdCallback = new LoadAdCallback() {
@Override
public void onAdLoad(String placementReferenceId) {
// Placement reference ID for the placement to load ad assets
}

@Override
public void onError(String placementReferenceId, Throwable throwable) {
// Placement reference ID for the placement that failed to download ad assets
// Throwable contains error message
}
};
// Implement PlayAdCallback
private final PlayAdCallback vunglePlayAdCallback = new PlayAdCallback() {
@Override
public void onAdStart(String placementReferenceId) {
// Placement reference ID for the placement to be played
}

@Override
public void onAdEnd (String placementReferenceId, boolean completed, boolean isCTAClicked) {
// Placement reference ID for the placement that has completed ad experience
// completed has value of true or false to notify whether video was
// watched for 80% or more
// isCTAClkcked has value of true or false to indicate whether download button
// of an ad has been clicked by the user
}

@Override
public void onError(String placementReferenceId, Throwable throwable) {
// Placement reference ID for the placement that failed to play an ad
// Throwable contains error message
}
};

Schritt 5. Werbung laden

In Vungle Android SDK v6 ist ein lastenabhängiges Callback erlaubt – anstelle des vom globalen VungleAdEventListener abhängigen Callbacks in v5. Das LoadAdCallback wird über den Lastenzustand des ihm zugewiesenen Aufrufs informiert. Das v6 SDK nimmt diesen Callback nur als Referenz und speichert ihn nicht. Die korrekte Verwaltung des Callbacks liegt in der Verantwortung des Aufrufenden.

public static void loadAd(@NonNull final String id, @Nullable LoadAdCallback callback) 

Das SDK verwaltet den Download der Werbe-Assets für die automatisch gecachte Platzierung, sodass es nicht erforderlich ist, diese Methode zur automatisch gecachte Platzierung zu aktivieren. Bei allen anderen Platzierungen muss die loadAd-Methode aktiviert und erfolgreich ausgeführt werden, bevor das SDK eine Werbung zur Platzierung abspielen kann. Das onAdLoad-Callback wird ausgelöst, sobald dies erfolgt.

// Load Ad Implementation
if (Vungle.isInitialized()) {
Vungle.loadAd("PLACEMENT_ID", new LoadAdCallback() {
@Override
public void onAdLoad(String placementReferenceId) { }

@Override
public void onError(String placementReferenceId, Throwable throwable) {
// Load ad error occurred - throwable.getLocalizedMessage() contains error message
}
};
}

Schritt 6. Verfügbarkeit der Werbung überprüfen

Verwenden Sie die statische Methode canPlayAdmethod zur Prüfung, ob eine Werbung zum Abspielen zur Platzierung verfügbar ist, bevor Sie playAd() method ausführen.

public static boolean canPlayAd(@NonNull String id)

Schritt 7. Werbung abspielen

Zum Abspielen einer Werbung aktivieren Sie die playAd-Methode mit der Referenz-ID für die Platzierung. ID, optional AdConfig (Null wenn nicht verwendet), und einen PlayAdCallback-Event Listener, der über Erfolg oder Fehler beim Abspielen der Werbung benachrichtigt wird.

public static void playAd(@NonNull final String id, final AdConfig settings, @Nullable final PlayAdCallback listener) 

Sie sollten die Verfügbarkeit von Werbung stets überprüfen, indem Sie die canPlayAd-Methode vor Aktivieren der playAd-Methode aufrufen. Sie müssen sich zudem vergewissern, dass playAd nicht ausgegeben wird, bevor Sie einen onAdEnd oder einen onError-Callback aus dem ursprünglichen playAd-Aufruf erhalten, weil die Werbung nicht korrekt gerendert wird, wenn playAd wiederholt in schneller Folge aufgerufen wird.

if (Vungle.canPlayAd("PLACEMENT_ID")) {
Vungle.playAd("PLACEMENT_ID", new AdConfig, new PlayAdCallback() {
@Override
public void onAdStart(String placementReferenceId) { }

@Override
public void onAdEnd(String placementReferenceId, boolean completed, boolean isCTAClicked) { }

@Override
public void onError(String placementReferenceId, Throwable throwable) {
// Play ad error occurred - throwable.getLocalizedMessage() contains error message
}
});
}

Erneute Initialisierung des SDK bei onError

In seltenen Fällen können die Ressourcen knapp werden, wodurch das System Teile des Vungle SDK oder vom SDK benötigter Drittanbieter-Ressourcen freigibt. In diesen Fällen senden LoadAdCallback and PlayAdCallback einen onError()-Callback mit einem Objekt zusammen mit dem Code ‘VungleException.VUNGLE_NOT_INTIALIZED’. Dadurch wird angezeigt, dass das Vungle SDK nicht betriebsbereit ist und neu initialisiert werden muss.

@Override public void onError(String placementReferenceID, Throwable throwable) { try { VungleException ex = (VungleException) throwable; if (ex.getExceptionCode() == VungleException.VUNGLE_NOT_INTIALIZED) { initializeVungleSDK(); } } catch (ClassCastException cex) { Log.d(LOG_TAG, cex.getMessage()); } } 

Native Flex-Werbung

Flex-View-Werbung

Flex-View-Werbung wird wie nomale Vollbildwerbung geladen und abgespielt. Rufen Sie einfach die Referenz-ID zur Platzierung auf dem Dashboard auf, die mit dem Platzierungstyp „Flex-View“ konfiguriert wurde.

Flex-View kann programmgesteuert geschlossen werden, indem Sie die closeFlexViewAd-Methode mit der Referenz-ID zur Platzierung ausgeben, mit der aktuell die Flex-View-Werbung abgespielt wird.

public static boolean closeFlexViewAd(@NonNull final String placementReferenceId)

Es gibt eine weitere Option zum automatische Schließen von Flex-View-Werbung, nachdem diese eine bestimmte Zeit lang angezeigt wurde. Informationen dazu finden Sie im Abschnitt Optionen für Werbungskonfiguration.

Flex-Feed-Werbung

Das Flex-Feed-Werbeformat erfordert keinen Vollbildschirm. Stattdessen bestimmt der Herausgeber die exakten Abmessungen und die Positionierung des Werbung-Containers innerhalb der App. Diese Werbungs-Container können in Sammel- oder Tabellenansichten enthalten sein.

Eine Flex-Feed-Werbung laden

Der Herausgeber muss eine Werbung in den Flex-Feed-Container laden. Eine Flex Feed-Werbung wird auf dieselbe Weise wie eine Vollbildwerbung geladen; allerdings muss die Platzierung so eingestellt werden, dass sie Flex-Feed unterstützt. Wenden Sie sich an Ihren Vungle Account-Manager, um Flex-Feed für eine Platzierung zu aktivieren.

Eine Flex-Feed-Werbung anzeigen

Das Anzeigen von Flex Feed-Werbung unterscheidet sich von dem von Vollbildwerbung. Bei Flex Feed-Werbung müssen Sie zuerst einen Container für die Werbung erstellen. Dieser Container ist ein Layout. Sie können dieses RelativeLayout an beliebiger Stelle auf dem Display platzieren. Die Anzeige lässt sich auf jede Größe des Containers skalieren. Beachten Sie aber, dass eine sehr niedrige Auflösung die Sichtbarkeit der Werbung verringert. Anschließend müssen Sie mit Vungle.getNativeAd das Flex-Feed-Werbung-Objekt und die Funktion addView aufrufen, um den Container einer Flex Feed-Werbung zuzuordnen.

private RelativeLayout flexfeed_container = findViewById(...); VungleNativeAd vungleNativeAd = Vungle.getNativeAd("FLEXFEED_ID", vunglePlayAdCallback); View nativeAdView = vungleNativeAd.renderNativeView(); flexfeed_container.addView(nativeAdView); 

Eine Flex-Feed-Werbung schließen

Da die Ansicht für die Flex-Feed-Werbung zur Container-Ansicht hinzugefügt wurde, muss diese auch entfernt werden, falls die Werbungsansicht vom Bildschirm entfernt wird, die Aktivität oder das Fragment gelöscht werden oder der übergeordnete Ansicht-Container recycelt oder gelöscht wird. Wenn Sie die Werbung nicht vorher schließen, können derartige Ereignisse ein unerwartetes Verhalten Ihrer App verursachen.

private VungleNativeAd vungleNativeAd; // Calling finishDisplayingAd when you want to finish displaying Flex-Feed Ad will  löst onAdEnd aus und gibt eine Benachrichtigung aus, wenn Sie den untergeordneten FlexFeed-Ansicht.Container entfernen können
vungleNativeAd.finishDisplayingAd(); // And removing empty ad view from container @Override public void onAdEnd(String id, boolean completed) { … parentView.remove(nativeAdView); vungleNativeAd = null; … }

Zustand einer Flex-Feed-Werbung anfügen bzw. abtrennen

Wenn der Benutzer zu einer Stelle blättert, an der das Video nicht mehr auf dem Bildschirm sichtbar ist, dann muss der Herausgeber das Video anhalten und es fortsetzen, sobald es wieder sichtbar ist. Zur Steuerung von Pause und Fortsetzung rufen Sie setAdVisibility() aus der VungleNativeAd-Instanz auf und setzen dies auf „true“, wenn das Video sichtbar ist, und auf „false“, wenn sich das Video außerhalb des Bildschirmbereichs befindet. setAdVisibility darf nicht mit der Sichtbarkeit der Ansicht verwechselt werden: Diese Einstelloption informiert Vungle SDK darüber, ob die native Ansicht der Werbung sichtbar ist und lässt abhängig davon das Abspielen des Videos durch das SDK pausieren bzw. fortsetzen.

Eine Flex-Feed-Werbung pausieren:

vungleNativeAd.setAdVisibility(false);

Eine Flex-Feed-Werbung fortsetzen:

vungleNativeAd.setAdVisibility(true);

Erweiterte Einstellungen

Google Play Services (optional)

Wenn Sie Google Play-Dienste in Ihr Projekt integrieren, kann Vungle besser auf die Endbenutzer zugeschnittene Werbung bereitstellen. Google Cloud Messaging ist eine erforderliche API, während die APIs Google Location and Activity Recognition und Google Location and Basement optional sind. Wir empfehlen Version 11.0.1 oder höher.

Zur Integration der Google Play Services empfehlen wir Google's Setup Guide. Stellen Sie in Ihrer App sicher, dass die Version von Google Play Services auf dem Gerät hinreichend aktuell ist. Das Vungle SDK verwendet optional die APIs Location und Ads von Google Play Services.

  • google.android.gms:play-services-gcm:11.0.1 // Required
  • google.android.gms:play-services-basement:11.0.1 // Recommended
  • google.android.gms:play-services-location:11.0.1 // Recommended

Reduzierung der Methodenanzahl

Mit dem Vungle Android SDK v6 werden Ihrem Projekt ca. 750 Vungle-Kernmethoden hinzugefügt, wobei die transitiven Abhängigkeiten nicht berücksichtigt sind. Bei einer vollen Integration werden einschließlich der Drittanbieter-Bibliotheken durchschnittlich 4000 Methoden hinzugefügt. Erwägen Sie folgende Vorschläge zur Reduzierung der Gesamtanzahl der Methoden in Ihrem Projekt.

  • ProGuard: Sie können ProGuard aktivieren, um Ihren Projektcode kompakter zu gestalten. Dabei werden alle während der Kompilierung nicht genutzten Klassen entfernt, um die Gesamtanzahl der Methoden möglichst gering zu halten. Sie erreichen dies durch Angabe von minifyEnabled true in build.gradle des entsprechenden Build-Typs und indem Sie die Regeln zur Verfügung stellen, um die Klassen, die in Ihrem Projekt erforderlich sind, beizubehalten.

  • Multidex: Falls Sie sich noch immer bei einer Methodenanzahl jenseits von 65.000 befinden, könnte multiDex die einzige von Google bereitgestellte Methode sein. Sie müssen Ihr Projekt nur einmalig zu multiDex konfigurieren. Dies wird sich aber auf die Build- und Startzeit der App auswirken.

Proguard

Falls Sie Proguard verwenden, fügen Sie folgende Zeilen in Ihre ProGuard-Konfigurationsdatei ein:

# Vungle -keep class com.vungle.warren.** { *; } # Evernote -dontwarn com.evernote.android.job.gcm.** -dontwarn com.evernote.android.job.GcmAvailableHelper -dontwarn com.google.android.gms.ads.identifier.** -keep public class com.evernote.android.job.v21.PlatformJobService -keep public class com.evernote.android.job.v14.PlatformAlarmService -keep public class com.evernote.android.job.v14.PlatformAlarmReceiver -keep public class com.evernote.android.job.JobBootReceiver -keep public class com.evernote.android.job.JobRescheduleService -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement -keep class com.google.android.gms.internal.** { *; } # Moat SDK -keep class com.moat.** { *; } -dontwarn com.moat.**

Hinweise zum UI-Thread

Die Callbacks werden in einem Hintergrund-Thread ausgeführt. Jede Interaktion oder Aktualisierung der Benutzeroberfläche, die sich aus einem Event-Callback ergibt, muss vor der Ausführung an den Haupt-Thread der UI übergeben werden. Die zwei gängigsten Methoden zum Ausführen Ihres Codes im UI-Thread sind:

Optionen zur Werbungskonfiguration

Werbungskonfiguration

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

Vungle.playAd(placementReferenceID, null, vunglePlayAdCallback);

Oben wird Null als adConfig-Objekt verwendet. Sie können dies tun, wenn Sie keine zusätzliche Konfiguration nutzen möchten. Verwenden Sie ein AdConfig-Objekt wie hier dargestellt:

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

Die folgende Tabelle zeigt die verfügbaren AdConfig-Optionen.

Option

Beschreibung

setBackButtonImmediatelyEnabled

„true“, wenn die Schaltfläche „Zurück“ vor der Schaltfläche zum Schließen der Werbung aktiviert werden soll, anderenfalls „false“

setFlexViewCloseTime

nimmt einen Integerwert größer oder gleich 0, der die Zeit in Sekunden angibt, in der die Flex-View-Werbung automatisch geschlossen wird

setImmersiveMode

„true“, wenn der immersive Modus für KitKat+-Geräte aktiviert ist, anderenfalls „false“

setAutoRotate

„true“, wenn das Video automatisch gedreht werden soll, „false“, wenn das Video der Ausrichtung der Werbung folgen soll

setMuted

„true“, wenn das Video mit den Audioeinstellungen starten soll, die denen der Anwendung entsprechen, in die es eingebettet ist, „false“, wenn es beim Start stummgeschaltet sein soll

setOrdinal

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

setTransitionAnimationEnabled

„true“, wenn die Übergangsanimation des Videos aktiviert sein soll, „false“, wenn sie deaktiviert sein soll

Sie können dasselbe AdConfig-Objekt für mehrere Referenz-IDs zur Platzierung der abgespielten Werbung verwenden.

Konfiguration von Werbung mit zusätzlichen Anreizen

Sie können das Vungle-Objekt verwenden, um die Belohnungsanreize der Videos zu konfigurieren.

Option

Beschreibung

setIncentivizedFields(@Nullable String userID, @Nullable String title, @Nullable String body, @Nullable String keepWatching, @Nullable String close)

Wenn ein Benutzer versucht, ein solches Video zu schließen, dann wird ein Popup-Fenster zur Bestätigung der Benutzeraktion angezeigt. Dieses Fenster können Sie mit dieser Einstellung anpassen. Wählen Sie Null, falls Sie den Standardwert nicht ändern möchten, beispielsweise, wenn Sie nur die Benutzer-ID modifzieren wollen.

So konfigurieren Sie eine Werbung mit Belohnungsanreizen:

Vungle.setIncentivizedFields("user1","title1","body1","keepwatching1","close1"); Vungle.playAd("YOUR_APP_ID", AdConfig, vunglePlayAdCallback);

Liste gültiger Platzierungen

Eine Hilfsmethode, die eine Sammlung von Strings zurückgibt, die alle gültigen Referenz-IDs zur Platzierung für die aktuelle Sitzung enthält.

public static Collection getValidPlacements()

Anweisungen zur empfohlenen DSGVO-Implementierung

Bei Verwendung von Vungle APIs zur Aktualisierung oder Abfrage der Benutzerreaktion (wie in Option 1 von DSGVO: Empfohlene Implementierung für Vungle empfohlen), werden folgende Funktionen genutzt:

 // To set the user's consent status to opted in: Vungle.updateConsentStatus(Vungle.Consent.OPTED_IN); // To set the user's consent status to opted out: Vungle.updateConsentStatus(Vungle.Consent.OPTED_OUT); // To find out what the user's current consent status is: Vungle.Consent currentStatus = Vungle.getConsentStatus(); 

Hardwarebeschleunigung

Hardwarebeschleunigung wird standardmäßig aktiviert, wenn Ihre API auf Level 14 oder höher eingestellt ist. Diese Option muss aktiviert werden, damit das SDK dynamische Vorlagen und native Flex-Werbung korrekt anzeigt. Stellen Sie sicher, dass dies in Ihrem Projekt auf „true“ gesetzt ist:

<application android:hardwareAccelerated="true" ...>

Abrufen der SDK-Versionsnummer

Programmgesteuertes Abrufen der SDK-Versionsnummer zur Laufzeit (nützlich bei interner Kommunikation) wird in Vungle durch folgenden String ermöglicht:

com.vungle.warren.BuildConfig.VERSION_NAME

Weitere Hinweise

Android Studios hat bekannte Probleme, die zu einem Absturz führen. Wenn Sie die aktuelle Version von Android Studios Instant Run besitzen, deaktivieren Sie Android Studios Instant Run, um diese Abstürze zu vermeiden.

1-20 13:53:03.649 27642-27828/com.publisher.sample W/GooglePlayServicesUtil: Google Play services out of date. Requires 10240000 but found 9879438 11-20 13:53:03.659 27642-27828/com.publisher.sample W/VungleDevice: Google Play Services not available: SERVICE_VERSION_UPDATE_REQUIRED 11-20 13:53:05.679 27642-27642/com.publisher.sample D/Event: No subscribers registered for event class com.vungle.publisher.lu 11-20 13:53:05.679 27642-27642/com.publisher.sample D/Event: No subscribers registered for event class de.greenrobot.event.NoSubscriberEvent
Haben Sie Fragen? Anfrage einreichen

Kommentare