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.
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();
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();
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);
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)
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
auftrue
imbuild.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.
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
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 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" ...>
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
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. |
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.
<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>
- Fügen Sie Vungle SDK-Ausschlussregeln der vorhandenen .xml-Datei hinzu, die eigenen Ausschlussregeln Ihrer Anwendung enthält.
- 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.
- Erstellen Sie eine neue XML-Datei mit Vungle-Ausschlussregeln.
- Legen Sie die .xml-Datei im Verzeichnis
res/xml
ab. - Fügen Sie
fullBackupContent
im Application-Tag vonAndroidManifest.xml
mit dem Dateinamen der .xml-Datei hinzu, die Sie oben erstellt haben.<application android:fullBackupContent="@xml/vungle_backup_rule">
Falls für Ihre Anwendung keine Sicherung erforderlich ist, können Sie diese einfach über das Anwendungs-Tag deaktivieren:
<application
android:allowBackup="false" >