Paramètres avancés

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.

Instructions relatives à la mise en œuvre recommandée du RGPD

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();

Mise en œuvre du CCPA

À 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();

Limiter l'utilisation de l'ID de l'appareil

À 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);

Inclure les services Google Play

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)

Réduction du nombre de méthodes

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 sur true dans build.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.

ProGuard

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

Définir un espace disque minimum

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);

Accélération matérielle

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" ...>

Récupérer le numéro de version du SDK

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

Codes d'exception pour le débogage

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.

Configurer la sauvegarde automatique pour l'intégration JAR

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.

Règles d'exclusion Vungle

<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>

Intégration Gradle avec les règles de sauvegarde des développeurs

  1. Ajoutez les règles d'exclusion du SDK Vungle au fichier .xml existant qui possède les règles d'exclusion propres à votre application.
  2. 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.

Intégration JAR avec les règles de sauvegarde des développeurs

  1. Créez un nouveau fichier XML avec les règles d'exclusion de Vungle.
  2. Placez le fichier .xml sous le répertoire res/xml.
  3. Ajoutez fullBackupContent dans la balise d'application de AndroidManifest.xml avec le nom du fichier .xml que vous avez créé ci-dessus.
    <application
        android:fullBackupContent="@xml/vungle_backup_rule">

Désactiver la sauvegarde automatique

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" >

Liste des placements valides

Nous fournissons une méthode d'assistance qui renvoie la collection de chaînes contenant tous les ID de référence des placements valides pour la session en cours.

public static Collection getValidPlacements()

Questions?

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

Cet article vous a-t-il été utile ?