Commencez par suivre les instructions de l'article sur l'intégration de base, puis les instructions relatives aux formats publicitaires que vous souhaitez intégrer(publicités interstitielles ou récompensées, bannières publicitaires, publicités MREC). Cet article contient des informations supplémentaires et suppose que vous avez effectué l'intégration de base.
Depuis le 25 mai 2019, le Règlement général sur la protection des données (RGPD) est entré en vigueur dans l'Union européenne. Les développeurs disposent de deux options pour se conformer au RGPD.
- Option 1 (recommandée) : l'éditeur contrôle le processus de consentement au RGPD au niveau de l'utilisateur, puis communique le choix de l'utilisateur à Vungle. Pour ce faire, les développeurs peuvent obtenir le consentement de l'utilisateur via leur propre mécanisme, puis utiliser les API Vungle pour mettre à jour ou demander le statut du consentement de l'utilisateur. Consultez l'exemple de disposition ci-dessous pour plus de détails.
- Option 2 : laisser Vungle gérer les conditions requises. Vungle affichera une boîte de dialogue de consentement avant de lire une publicité pour un utilisateur européen et mémorisera le consentement ou le rejet de l'utilisateur pour les publicités ultérieures.
La méthode updateConsentStatus
(recommandée dans l'option 1) utilise comme paramètres le statut de consentement de l'utilisateur et la version du message de consentement.
public static void updateConsentStatus(@NonNull Consent status, @NonNull String consentMessageVersion)
Le statut de consentement précisera si l'utilisateur a indiqué OPTED_IN
ou OPTED_OUT
pour la version du message que vous avez affichée. Le consentMessageVersion
spécifie la version de la politique de consentement contrôlée par l'éditeur. Cela vous permet de regrouper vos utilisateurs selon la version du message et de demander à nouveau le consentement lorsque la politique du RGPD change.
// 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();
À compter du 1er juillet 2020, la loi californienne sur la protection de la vie privée des consommateurs (CCPA, California Consumer Privacy Act) sera appliquée et les éditeurs devront mettre à jour le SDK 6.7.0 d'Android pour se conformer au CCPA.
La méthode updateCCPAStatus
utilise le statut de consentement de l'utilisateur pour préciser si l'utilisateur a indiqué OPTED_IN
ou OPTED_OUT
, et la méthode getCCPAStatus()
renvoie le statut actuel relatif au CCPA pour l'utilisateur.
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();
À partir du SDK Vungle Android v 6.4.11, vous pouvez désormais restreindre la transmission de l'ID Android utilisé lorsque l'ID Google Advertising n'est pas disponible.
// 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);
L'inclusion des services Google Play dans votre projet est facultative mais recommandée. Elle permet à Vungle de fournir une expérience publicitaire plus personnalisée à vos utilisateurs finaux. Nous vous recommandons d'inclure les API Basement et d'identification des publicités, et d'utiliser la version des services Google Play v11.0.1 ou ultérieure.
Pour inclure les services Google Play, consultez le guide d'installation Google. Dans votre application, assurez-vous que l'appareil dispose d'une version suffisamment mise à jour des services Google Play. Le SDK Vungle utilise de manière facultative l'emplacement et l'API des publicités provenant des services Google Play.
-
google.android.gms:play-services-basement:16.0.0
(recommandé) -
google.android.gms:play-services-ads-identifier:16.0.0
(obligatoire pour l'AAID)
L'ajout du SDK Vungle Android v6 à votre projet ajoutera environ 700 méthodes Vungle principales, sans tenir compte des dépendances transitives. Une intégration complète incluant les bibliothèques tierces doit ajouter moins de 4 000 méthodes en moyenne. Tenez compte des suggestions suivantes pour réduire le nombre total de méthodes ajoutées à votre projet :
-
ProGuard : vous pouvez activer ProGuard pour réduire le code de votre projet. Cela supprimera toute classe non utilisée au moment de la compilation pour réduire le nombre total de méthodes au minimum. Vous pouvez l'activer en définissant
minifyEnabled
surtrue
dansbuild.gradle
pour le type de build adapté et en indiquant les règles de conservation des classes nécessaires pour votre projet. - MultiDex : si vous avez toujours un nombre de méthodes supérieur à 65 000, l'activation de MultiDex peut être la seule solution fournie par Google. Vous devez uniquement configurer votre projet sur MultiDex une seule fois, mais cela impactera l'heure de démarrage du build et de l'application.
Si vous utilisez ProGuard, ajoutez les règles suivantes à votre fichier de configuration ProGuard :
# 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
La configuration de l'espace disque minimum a été introduite dans le SDK Vungle v6.4.11 afin de définir les limites de l'espace disponible sur un appareil d'utilisateur avant que le SDK Vungle ne soit initialisé et rapporte des publicités. La valeur par défaut de setMinimumSpaceForInit
est de 51 Mo et de setMinimumSpaceForAd
est de 50 Mo. Ces dimensions sont exprimées en octets.
VungleSettings vungleSettings = new VungleSettings.Builder()
.setMinimumSpaceForInit(51L * 1024L * 1024L) // 51 MB
.setMinimumSpaceForAd(50L * 1024L * 1024L) // 50 MB
.build();
Vungle.init(appId, getApplicationContext(), initCallback, vungleSettings);
L'accélération matérielle est activée par défaut pour votre application si le niveau de votre API cible est réglé sur 14 ou plus. Cette option doit être activée pour que le SDK affiche correctement les publicités Dynamic Template et MREC. Veuillez vous assurer que cette option est réglée sur "true" dans votre projet :
<application android:hardwareAccelerated="true" ...>
Pour récupérer le numéro de version du SDK par programmation à l'exécution (cela peut s'avérer utile en médiation interne), Vungle fournit la chaîne suivante :
com.vungle.warren.BuildConfig.VERSION_NAME
InitCallback
, PlayAdCallback
et LoadAdCallback
disposeront d'un code VungleException
lorsque le rappel onError
se déclenchera. Vous pouvez utiliser ce code pour déboguer ou prendre des mesures pour corriger le problème au niveau du programme.
if (exception.getExceptionCode() == VungleException.VUNGLE_NOT_INTIALIZED) {
// Call routine to initialize SDK
}
Code d'exception | Description |
CONFIGURATION_ERROR |
Une erreur de configuration s'est produite. Vérifiez votre ID d'application et vos ID de référence de placement, et réessayez lorsque la connectivité réseau est disponible. |
NO_SERVE |
Le serveur publicitaire n'a trouvé aucune publicité pour votre offre actuelle. Veuillez réessayer plus tard. Cette exception est un comportement attendu. |
UNKNOWN_ERROR |
Une erreur inconnue s'est produite. Cette exception devrait être rare. |
AD_EXPIRED |
La publicité dans le cache a expiré et ne peut plus être diffusée. Veuillez charger une autre publicité. |
MISSING_REQUIRED_ARGUMENTS_FOR_INIT |
Veuillez vous assurer que tous les paramètres pour Vungle.init() marqués comme NonNull sont fournis, car ils sont essentiels au fonctionnement du SDK. |
APPLICATION_CONTEXT_REQUIRED |
Veuillez fournir l'application Context afin que notre SDK puisse continuer à prendre en charge notre API au-delà du cycle de vie de Activity . |
OPERATION_ONGOING |
Il existe déjà une opération en cours pour l'action que vous avez demandée. Veuillez attendre que l'opération soit terminée avant d'en commencer une autre. |
VUNGLE_NOT_INTIALIZED |
Vungle n'est pas ou plus initialisé, veuillez appeler Vungle.init() pour le réinitialiser. |
AD_UNABLE_TO_PLAY |
Impossible de diffuser la publicité. |
AD_FAILED_TO_DOWNLOAD |
La publicité n'a pas pu être téléchargée. |
PLACEMENT_NOT_FOUND |
Le placement n'est pas valide. |
SERVER_RETRY_ERROR |
Le serveur distant a répondu par HTTP Retry-After, le SDK va réessayer cette requête. |
Le paramètre "allow backup" est activé par défaut pour votre application pour l'API 23 ou version ultérieure. La règle de sauvegarde garantit que toutes les données de l'application sont sauvegardées pour le bon fonctionnement du SDK Vungle et de l'application elle-même. Si vous n'avez pas désactivé le paramètre "allow backup" ou spécifié vos propres règles de sauvegarde, vous devez fournir des règles XML supplémentaires pour définir quels fichiers de notre système de fichiers SDK doivent être exclus de la sauvegarde automatique.
<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>
- Ajoutez les règles d'exclusion du SDK Vungle au fichier .xml existant qui possède les règles d'exclusion propres à votre application.
- Configurez
fullBackupContent
pour qu'il soit remplacé au niveau de l'application et ajoutez la règle d'exclusion du SDK Vungle au fichier .xml existant.
- Créez un nouveau fichier XML avec les règles d'exclusion de Vungle.
- Placez le fichier .xml sous le répertoire
res/xml
. - Ajoutez
fullBackupContent
dans la balise d'application deAndroidManifest.xml
avec le nom du fichier .xml que vous avez créé ci-dessus.<application android:fullBackupContent="@xml/vungle_backup_rule">
Si la sauvegarde n'est pas nécessaire pour votre application, vous pouvez simplement la désactiver dans la balise de l'application :
<application
android:allowBackup="false" >