Erweiterte Einstellungen

Befolgen Sie zunächst die Anweisungen im Artikel über die Basisintegration und dann die Anweisungen für alle Anzeigenformate, die Sie integrieren möchten(interstitielle oder belohnte Anzeigen, Banneranzeigen, MREC-Anzeigen). Dieser Artikel enthält ergänzende Informationen und setzt voraus, dass Sie die Basisintegration abgeschlossen haben.

Anweisungen zur empfohlenen DSGVO-Implementierung

Seit dem 25. Mai 2019 gilt in der EU die Datenschutz-Grundverordnung (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 können Sie dem nachfolgenden Beispielcode entnehmen.
  • 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 dann diese Zustimmung bzw. Ablehnung für nachfolgende Werbung.

Die Methode updateConsentStatus (empfohlen in Option 1) übernimmt den Zustimmungsstatus des Benutzers und die Version der Zustimmungsnachricht als Parameter.

public static void updateConsentStatus(@NonNull Consent status, @NonNull String consentMessageVersion)

Der Zustimmungsstatus legt fest, ob der Nutzer OPTED_IN oder OPTED_OUT die Ihnen angezeigte Nachrichtenversion der Zustimmungsnachricht hat. Die consentMessageVersion gibt die vom Herausgeber bestimmte Version der Zustimmungsrichtlinie an. Damit können Sie Ihre Nutzer nach Nachrichtenversion bündeln, und sich die Zustimmung erneut einholen, wenn sich die GDPR-Richtlinien ändern.

// Usage example of GDPR API
// To set the user's consent status to opted in:
Vungle.updateConsentStatus(Vungle.Consent.OPTED_IN, “1.0.0”);

// To set the user's consent status to opted out:
Vungle.updateConsentStatus(Vungle.Consent.OPTED_OUT, “1.0.0”);

// To find out what the user's current consent status is:
// This will return null if the GDPR Consent status has not been set
// Otherwise, it will return Vungle.Consent.OPTED_IN or Vungle.Consent.OPTED_OUT
Vungle.Consent currentGDPRStatus = Vungle.getConsentStatus();
String consentMessageVersion = Vungle.getConsentMessageVersion();

CCPA-Implementierung

Am 1. Juli 2020 ist der kalifornische Consumer Privacy Act (CCPA) in Kraft getreten, Herausgeber müssen daher auf Android SDK 6.7.0 aktualisieren, um dem CCPA zu entsprechen.

Die Methode updateCCPAStatus übernimmt den Zustimmungsstatus des Benutzers, um festzulegen, ob der Benutzer über OPTED_IN oder OPTED_OUT verfügt, wobei die Methode getCCPAStatus() den aktuellen CCPA-Status für den Benutzer zurückliefert.

public static void updateCCPAStatus(@NonNull final Consent status)
public static Consent getCCPAStatus()
// Usage example of CCPA API
// To set the user's CCPA status to opted in:
Vungle.updateCCPAStatus(Consent.OPTED_IN);

// To set the user's CCPA status to opted out:
Vungle.updateCCPAStatus(Consent.OPTED_OUT);

// To find out what the user's current consent status is:
Consent currentCCPAStatus = Vungle.getCCPAStatus();

Verwendung der Geräte-ID einschränken

Beginnend mit Vungle Android SDK v6.4.11 können Sie nun die Übertragung der Android-ID einschränken, die verwendet wird, wenn die Google-Werbe-ID nicht verfügbar ist.

// Set true to opt out for Android ID collection by SDK or false (default) to opt in
VungleSettings vungleSettings = new VungleSettings.Builder()
    .setAndroidIdOptOut(true)
    .build();
    
Vungle.init(appId, getApplicationContext(), initCallback, vungleSettings);

Enthalten Google Play Services

Google Play-Dienste in Ihr Projekt zu integrieren ist optional, wird aber empfohlen. Damit kann Vungle besser auf die Endbenutzer zugeschnittene Werbung bereitstellen. Dies ist aber nicht zwingend erforderlich. Wir empfehlen Google Play Services-Version v11.0.1 oder höher.

Zur Integration der Google Play Services lesen Sie den Google Setup-Guide. Stellen Sie in Ihrer App sicher, dass das Gerät über eine hinreichend aktuelle Version von Google Play Services verfügt. Das Vungle SDK verwendet optional die API Location and Ads von Google Play Services.

  • google.android.gms:play-services-basement:16.0.0 (Empfohlen)
  • google.android.gms:play-services-ads-identifier:16.0.0 (Erforderlich für AAID)

Reduzierung der Methodenanzahl

Mit dem Vungle Android SDK v6 werden Ihrem Projekt ca. 700 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 das Einstellen von minifyEnabled auf true im 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 die Methodenanzahl noch immer oberhalb von 65.000 liegt, könnte MultiDex die einzige von Google bereitgestellte Methode sein. Sie müssen Ihr Projekt nur einmalig für MultiDex konfigurieren. Dies wird sich aber auf die Build- und Startzeit der App auswirken.

ProGuard

Falls Sie ProGuard verwenden, fügen Sie die folgenden Zeilen in Ihre ProGuard-Konfigurationsdatei ein:

# Vungle
# Vungle
-dontwarn com.vungle.warren.downloader.DownloadRequestMediator$Status
-dontwarn com.vungle.warren.error.VungleError$ErrorCode

# Google
-dontwarn com.google.android.gms.common.GoogleApiAvailabilityLight
-dontwarn com.google.android.gms.ads.identifier.AdvertisingIdClient
-dontwarn com.google.android.gms.ads.identifier.AdvertisingIdClient$Info

# Moat SDK
-keep class com.moat.** { *; }
-dontwarn com.moat.**

# GSON
-keepattributes *Annotation*
-keepattributes Signature
# Prevent R8 from leaving Data object members always null
-keepclassmembers,allowobfuscation class * {
  @com.google.gson.annotations.SerializedName <fields>;
}

# OkHttp + Okio
-dontwarn javax.annotation.**
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
-dontwarn org.codehaus.mojo.animal_sniffer.*
-dontwarn okhttp3.internal.platform.ConscryptPlatform

Mindest-Speicherplatz festlegen

In Vungle SDK v6.4.11 wurde die Minimal-Speicherplatzkonfiguration eingeführt, um die Grenzwerte für den verfügbaren Speicherplatz auf dem Gerät eines Benutzers zu ermitteln, bevor das Vungle SDK initialisiert und Werbung abruft. Der Standardwert ist 51 MB für setMinimumSpaceForInit und 50 MB für setMinimumSpaceForAd. Die Größe wird in Bytes eingegeben.

VungleSettings vungleSettings = new VungleSettings.Builder()
    .setMinimumSpaceForInit(51L * 1024L * 1024L)  // 51 MB
    .setMinimumSpaceForAd(50L * 1024L * 1024L)    // 50 MB
    .build();
  
Vungle.init(appId, getApplicationContext(), initCallback, vungleSettings);

Hardwarebeschleunigung

Hardwarebeschleunigung wird standardmäßig für Ihre Anwendung aktiviert, wenn Ihre API auf Level 14 oder höher eingestellt ist. Diese Option muss aktiviert werden, damit das SDK dynamische Vorlagen und MREC-Werbung korrekt anzeigt. Stellen Sie sicher, dass dies auf der Anwendungsebene Ihres Projekts 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

Ausnahmecodes für das Debugging

InitCallback, PlayAdCallback, und LoadAdCallback werden einen VungleException Code besitzen, wenn der onError Rückruf ausgelöst wird. Sie können den Code zum Debuggen verwenden oder Maßnahmen ergreifen, um das Problem programmseitig zu korrigieren.

if (exception.getExceptionCode() == VungleException.VUNGLE_NOT_INTIALIZED) {
  // Call routine to initialize SDK
}
Ausnahmecode Beschreibung
CONFIGURATION_ERROR Ein Konfigurationsfehler ist aufgetreten. Überprüfen Sie Ihre Anwendungs-ID und Platzierungsreferenz-IDs, und versuchen Sie es erneut, wenn die Netzwerkverbindung verfügbar ist.
NO_SERVE Der Anzeigenserver hat keine Werbung für Ihr aktuelles Gebot gefunden. Bitte versuchen Sie es später noch einmal. Diese Ausnahme ist zu erwartetendes Verhalten.
UNKNOWN_ERROR Ein unbekannter Fehler ist aufgetreten. Diese Ausnahme sollte nur in seltenen Fällen auftreten.
AD_EXPIRED Die Anzeige im Cache ist abgelaufen und kann nicht mehr abgespielt werden. Bitte laden Sie eine weitere Anzeige.
MISSING_REQUIRED_ARGUMENTS_FOR_INIT Bitte stellen Sie sicher, dass alle Parameter für Vungle.init(), die als NonNull markiert sind, angegeben werden, da sie für das Funktionieren des SDK unerlässlich sind.
APPLICATION_CONTEXT_REQUIRED Bitte stellen Sie die Anwendung Context bereit, damit unser SDK unsere API über die Nutzungszeit von Activity hinaus weiterhin unterstützen kann.
OPERATION_ONGOING Es gibt bereits einen laufenden Vorgang für die Aktion, die Sie angefordert haben. Bitte warten Sie, bis der Vorgang abgeschlossen ist, bevor Sie einen neuen Vorgang starten.
VUNGLE_NOT_INTIALIZED Vungle ist nicht oder nicht mehr initialisiert. Rufen Sie bitte Vungle.init() auf, um es erneut zu initialisieren.
AD_UNABLE_TO_PLAY Werbung kann nicht abgespielt werden.
AD_FAILED_TO_DOWNLOAD Anzeige konnte nicht heruntergeladen werden.
PLACEMENT_NOT_FOUND Die Platzierung ist nicht gültig.
SERVER_RETRY_ERROR Der Remote-Server hat mit HTTP Retry-After geantwortet. Das SDK wird diese Anfrage erneut versuchen.

Konfigurieren der automatischen Sicherung für die JAR-Integration

Die Einstellung "Backup zulassen" ist für Ihre Anwendung für API 23 oder höher standardmäßig aktiviert. Die Backup-Regel stellt sicher, dass alle Anwendungsdaten für den ordnungsgemäßen Betrieb des Vungle SDK und der Anwendung selbst gesichert werden. Wenn Sie die Einstellung "Backup zulassen" nicht deaktiviert oder eigene Backup-Regeln festgelegt haben, müssen Sie zusätzliche XML-Regeln bereitstellen, um festzulegen, welche Dateien in unserem SDK-Dateisystem von der automatischen Sicherung ausgeschlossen werden sollen.

Vungle-Ausschlussregeln

<full-backup-content>
    <exclude domain="file" path="vungle" />
    <exclude domain="file" path="vungle_cache" />
    <exclude domain="external" path="vungle_cache" />
    <exclude domain="database" path="vungle_db" />
    <exclude domain="sharedpref" path="com.vungle.sdk.xml" />
</full-backup-content>

Gradle-Integration mit Sicherungsregeln für Entwickler

  1. Fügen Sie Vungle SDK-Ausschlussregeln der vorhandenen .xml-Datei hinzu, die eigenen Ausschlussregeln Ihrer Anwendung enthält.
  2. Konfigurieren Sie fullBackupContent so, dass es auf Anwendungsebene ersetzt wird, und fügen Sie die Ausschlussregel des Vungle SDK in die vorhandene .xml-Datei ein.

JAR-Integration mit Sicherungsregeln für Entwickler

  1. Erstellen Sie eine neue XML-Datei mit Vungle-Ausschlussregeln.
  2. Legen Sie die .xml-Datei im Verzeichnis res/xml ab.
  3. Fügen Sie fullBackupContent im Application-Tag von AndroidManifest.xml mit dem Dateinamen der .xml-Datei hinzu, die Sie oben erstellt haben.
    <application
        android:fullBackupContent="@xml/vungle_backup_rule">

Automatisches Backup deaktivieren

Falls für Ihre Anwendung keine Sicherung erforderlich ist, können Sie diese einfach über das Anwendungs-Tag deaktivieren:

<application 
    android:allowBackup="false" >

Liste gültiger Platzierungen

Wir stellen Ihnen eine Hilfsmethode zur Verfügung, die eine Sammlung von Strings zurückliefert, die alle gültigen Referenz-IDs zur Platzierung für die aktuelle Sitzung enthält.

public static Collection getValidPlacements()

Questions?

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

War dieser Beitrag hilfreich?