Démarrer avec la version 6 du SDK Vungle Android ou Amazon

Utilisez cet article pour intégrer le SDK Vungle pour Android ou Amazon. Depuis la version 5.3.0 de notre SDK Android, Vungle prend en charge Amazon OS 5.4 et les versions ultérieures en tant que plateforme. Les étapes d'intégration du SDK Amazon sont identiques à celles d'Android, mais assurez-vous d'utiliser votre ID d'application Amazon pour une intégration Amazon.

Dans cet article :

RGPD : mise en œuvre recommandée

Depuis le 25 mai, 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 la section Instructions relatives à la mise en œuvre recommandée du RGPD 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.

Avant de commencer

Points importants de la version

  • Rapide : l'initialisation et les performances de mise en cache des publicités sont jusqu'à cinq fois plus rapides que dans la v5
  • Léger : nombre de méthodes réduit
    • Core SDK : 750 méthodes
    • Intégration totale, bibliothèques tierces incluses : ~4 000 méthodes
  • Conformité au RGPD : Vungle offre deux options pour obtenir le consentement de l'utilisateur : Vungle ou l'éditeur peut contrôler ce processus. De nouveaux appels d'API ont été ajoutés.

Configuration nécessaire

  • Android 4.0 (Ice Cream Sandwich - API version 14) ou version supérieure
  • Android Support Library v26 ou version ultérieure
  • Android targetSdkVersion 26 ou antérieure

Exemple d'application

Étape 1. Inclure le SDK Vungle dans votre projet

Le SDK Vungle est disponible de deux manières : sous forme d'AAR via Maven, ou via une intégration JAR.

Option 1. Intégration AAR

Ouvrez le fichier build.gradle niveau du projet, et ajoutez l'URL Maven dans la section de tous les projets.

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

Ouvrez le fichier build.gradle au niveau de l'application, et ajoutez les dépendances compilées dans la section dépendances.

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' … }

Si vous incluez le SDK Vungle via Maven, vous pouvez ignorer "Étape 2. Importer le SDK Vungle."

Option 2. Intégration JAR

  1. Téléchargez le SDK Vungle v.6, décompressez-le, accédez au dossier libs, copiez tous les fichiers JAR et ajoutez-les au dossier libs de votre projet.

    image1.png
  2. Ouvrez le fichier build.gradle au niveau du projet et mettez à jour la section dépôts :

    allprojects {
    repositories {
    jcenter()
    }
    }
  3. Ouvrez le fichier build.gradle au niveau de l'application et ajoutez d'autres dépendances dans la section dépendances.

    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. Si vous incluez manuellement le SDK Vungle, passez à "Étape 2. Importer le SDK Vungle."

  5. Mettez AndroidManifest.xml à niveau en ajoutant les lignes suivantes à votre AndroidManifest.xml, en attribuant le nom de l'élément de l'application au nom de la classe de votre application pour multidex :
    <!--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>

Étape 2. Importer le SDK Vungle

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

Étape 3. Initialiser le SDK Vungle

La méthode d'initialisation requiert les paramètres suivants :

  • Liste des chaînes des ID de référence des placements utilisés
  • ID d'application Vungle
  • Contexte de l'application
  • InitCallback
    • onSuccess : notifie lorsque le SDK a été initialisé avec succès
    • onError : notifie lorsque l'initialisation a échoué
      • renvoie IllegalArgumentException si InitCallback a la valeur null
      • renvoie VungleException si les arguments nécessaires sont manquants ou non valides
    • onAutoCacheAdAvailable : notifie si une publicité peut être diffusée au placement mis en cache automatiquement

Le paramètre onAutoCacheAdAvailablecallback fait partie du rappel d'initialisation, car le SDK essaiera constamment de mettre en cache une publicité du placement mis en cache automatiquement lorsqu'une publicité n'est pas mise en cache. Cela concerne notamment le premier démarrage du SDK ou lorsque la publicité mise préalablement en cache pour le placement a été diffusée. Cela rester vrai jusqu'à ce que le processus soit terminé ou que l'espace mémoire de l'instance Vungle soit récupéré. Pour tous les autres placements n'étant pas mis en cache automatiquement, loadAd doit être indiqué, comme décrit dans "Étape 5. Charger une publicité."

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. } }; 

Vous pouvez vérifier si le SDK Vungle est initialisé à tout moment en appelant la méthode isInitialized :

public static boolean isInitialized()

Étape 4. Écouteur d'événements

Implémentez LoadAdCallback pour les événements de chargement des publicités et PlayAdCallback pour les événements de lecture des publicités dès maintenant si vous souhaitez utiliser un rappel générique pour tous les événements. Sinon, passez à la section "Étape 5. Charger une publicité" pour implémenter les rappels intégrés.

// 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
}
};

Étape 5. Charger une publicité

Dans la v6 du SDK Android Vungle, un rappel par chargement est autorisé et ne dépend plus du VungleAdEventListener global de la v5. La méthode LoadAdCallback sera informée de l'état de chargement de l'appel auquel elle a été attribuée. La v6 du SDK ne fait que référencer ce rappel et ne le stocke nulle part ; l'appelant doit s'assurer que le rappel est géré correctement.

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

Le SDK gère le téléchargement des ressources publicitaires pour le placement mis en cache automatiquement, il est donc inutile d'invoquer cette méthode pour le placement mis en cache automatiquement. Pour tous les autres placements, la méthode loadAd doit être invoquée et terminée avec succès avant que le SDK ne puisse diffuser une publicité pour le placement. Le rappel onAdLoad se déclenche lorsque c'est le cas.

// 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
}
};
}

Étape 6. Vérifier la disponibilité de la publicité

Utilisez la méthode statique canPlayAdmethod pour vérifier si une publicité peut être diffusée au placement avant d'invoquer la playAd() method

public static boolean canPlayAd(@NonNull String id)

Étape 7. Diffuser une publicité

Pour diffuser une publicité, invoquez la méthode playAd en utilisant éventuellement l'ID de référence de placementAdConfig (null si vous ne l'utilisez pas), et un écouteur d'événements PlayAdCallback, qui sera informé de la réussite ou des erreurs lors de la lecture de la publicité.

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

Vous devriez toujours vérifier la disponibilité des publicités en appelant la méthode canPlayAd avant d'invoquer la méthode playAd. Vous devez également vous assurer qu'aucune commande playAd supplémentaire n'est émise avant de recevoir un rappel onAdEnd ou onError de l'appel playAd initial, car la publicité n'aura pas un rendu correct si la commande playAd est appelée plusieurs fois successivement.

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

Réinitialiser le SDK si onError

Dans de rares cas, les ressources peuvent être limitées, ce qui force le système à révoquer l'allocation d'une partie du SDK ou de certaines dépendances tierces dont notre SDK a besoin. Dans ces cas-là, LoadAdCallback and PlayAdCallback envoie un rappel onError() avec un objet jetable avec un code ‘VungleException.VUNGLE_NOT_INTIALIZED’. Cela indique que le SDK Vungle ne peut pas fonctionner et qu'il doit être réinitialisé.

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

Publicités Native Flex

Publicités Flex-View

Les publicités Flex-View sont chargées et diffusées comme des publicités standard en plein écran. Il vous suffit d'appeler l'ID de référence du placement configuré avec le type de placement "Flex-View" depuis le tableau de bord.

La publicité Flex-View peut être fermée par la programmation en utilisant la méthode closeFlexViewAd avec l'ID de référence de le placement qui joue actuellement la publicité Flex-View.

public static boolean closeFlexViewAd(@NonNull final String placementReferenceId)

Une autre option permet de fermer automatiquement les publicités Flex-View après les avoir affichées pendant l'intervalle de temps spécifié ; consultez la section Options de configuration des publicités.

Publicités Flex-Feed

Le format de publicité Flex-Feed ne nécessite pas un affichage en plein écran. Au lieu de cela, l'éditeur détermine les dimensions et le placement exacts du conteneur publicitaire dans son application. Ces conteneurs publicitaires peuvent se trouver dans des vues de collection ou de tableaux/listes.

Charger une publicité Flex-Feed

L'éditeur doit charger une publicité pour le conteneur Flex-Feed. Charger une publicité Flex-Feed équivaut à charger une publicité en plein écran ou une publicité interstitielle ; toutefois, le placement doit être configuré pour prendre en charge Flex-Feed. Contactez votre gestionnaire de compte Vungle afin d'activer Flex-Feed pour vos placements.

Afficher une publicité Flex-Feed

Les publicités Flex Feed ne s'affichent pas de la même manière que les publicités en plein écran. Les publicités Flex Feed nécessitent de créer d'abord un conteneur pour la publicité. Ce conteneur est une disposition. Vous pouvez placer cette RelativeLayout à n'importe quel endroit de l'écran. La publicité s'adapte à n'importe quelle taille de conteneur, mais gardez à l'esprit qu'avec une résolution très basse, les publicités sont moins visibles. Vous devez alors appeler la fonction Vungle.getNativeAd pour obtenir l'objet publicité Flex-Feed et appeler la fonction addView pour associer le conteneur à la publicité Flex Feed.

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

Fermer une publicité Flex-Feed

Puisque la publicité Flex-Feed a été ajoutée à la vue de votre conteneur, elle doit également en être retirée si la vue de la publicité disparaît de l'écran, si l'activité ou le fragment est détruit, ou si le conteneur de l'affichage parent est recyclé ou détruit. Si vous ne fermez pas la publicité, un tel événement provoquera un comportement inattendu de votre application.

private VungleNativeAd vungleNativeAd; // Calling finishDisplayingAd when you want to finish displaying Flex-Feed Ad will  déclenchera onAdEnd et vous préviendra lorsque vous pourrez supprimer le conteneur de la vue FlexFeed affiliée
vungleNativeAd.finishDisplayingAd(); // And removing empty ad view from container @Override public void onAdEnd(String id, boolean completed) { … parentView.remove(nativeAdView); vungleNativeAd = null; … }

Attacher et détacher l'état d'une publicité Flex-Feed

Si l'utilisateur fait défiler la page jusqu'à un endroit où la publicité vidéo n'est plus visible à l'écran, l'éditeur doit mettre la vidéo en pause et reprendre la lecture lorsqu'elle est à nouveau visible. Pour contrôler les états de pause et de reprise, appelez le paramètre setAdVisibility() depuis l'instance VungleNativeAd, et réglez-le sur "true" lorsque la vidéo est visible et "false" lorsqu'elle ne l'est pas. Il ne faut pas confondre le paramètre setAdVisibility avec la visibilité de la vue : ce setter informe le SDK Vungle si l'affichage natif de la vue est visible ou non et, selon le cas, le SDK suspend/reprend la lecture de la vidéo.

Pour mettre une publicité Flex-Feed en pause :

vungleNativeAd.setAdVisibility(false);

Pour reprendre une publicité Flex-Feed :

vungleNativeAd.setAdVisibility(true);

Paramètres avancés

Services Google Play (facultatif)

L'intégration des services Google Play à votre projet permet à Vungle d'offre une expérience publicitaire personnalisée à l'utilisateur final. Google Cloud Messaging est une API obligatoire, tandis que les API Google Location and Activity Recognition, et Google Location and Basement sont facultatives. Nous vous recommandons d'utiliser la version 11.0.1 ou une version ultérieure.

Pour inclure les services Google Play, nous recommandons le guide d'installation Google. Dans votre application, assurez-vous que l'appareil dispose d'une version mise à jour des services Google Play. Le SDK Vungle utilise de manière facultative le placement et l'API des publicités provenant des services Google Play.

  • 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

Réduction du nombre de méthodes

L'ajout de la v6 du SDK Android Vungle à votre projet ajoutera environ 750 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 spécifiant minifyEnabled 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 à 65K, l'activation de multiDex peut être la seule solution fournie par Google. Vous devez 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 -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.**

Remarque relative au thread IU

Les fonctions de rappel sont exécutées sur un thread en arrière-plan ; ainsi, toute interaction d'IU ou mise à jour résultant d'une fonction de rappel d'événement doit être transmise au fil d'IU principal avant son exécution. Voici deux méthodes courantes pour exécuter votre code sur le fil d'IU :

Options de configuration des publicités

Configuration des publicités

Vous avez la possibilité de personnaliser les publicités individuelles que vous diffusez en fournissant un nouvel objet adConfig à playAd. AdConfig est un objet pouvant être null, auquel cas la publicité sera diffusée avec la configuration par défaut ; ou il peut être non-null et remplacer le setter AdConfig. Voici un exemple d'utilisation de AdConfig :

Vungle.playAd(placementReferenceID, null, vunglePlayAdCallback);

L'exemple ci-dessus utilise null comme objet adConfig ; vous pouvez procéder ainsi si vous ne souhaitez pas définir de configuration supplémentaire. Utilisez un objet AdConfig comme indiqué ici :

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

Le tableau suivant présente toutes les options disponibles pour AdConfig.

Option

Description

setBackButtonImmediatelyEnabled

true si le bouton de retour doit être activé avant que le bouton de fermeture de la publicité n'apparaisse, false sinon

setFlexViewCloseTime

prend une valeur entière supérieure ou égale à 0 indiquant le temps en secondes après lequel la publicité Flex-View se fermera automatiquement

setImmersiveMode

true si le mode immersif est activé pour les appareils sous KitKat ou une version ultérieure, false sinon

setAutoRotate

true si la publicité vidéo doit pivoter automatiquement, false pour suivre l'orientation de la publicité vidéo

setMuted

true si la vidéo doit se lancer avec ses paramètres audio correspondant à ceux de l'application qui l'entoure, false si elle doit se lancer en sourdine

setOrdinal

Prend une valeur entière du nombre ordinal pour suivre le nombre de publicités diffusées au cours de la même session

setTransitionAnimationEnabled

true si l'animation de transition vidéo doit être activée, false si elle doit être désactivée

Vous pouvez utiliser le même objet AdConfig pour plusieurs ID de référence de placement de publicités que vous diffusez.

Configuration des publicités rémunérées supplémentaires

Vous pouvez utiliser l'objet Vungle pour régler les paramètres des vidéos rémunérées.

Option

Description

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

Lorsqu'un utilisateur essaie de fermer une vidéo rémunérée, une fenêtre contextuelle apparaîtra pour confirmer l'intention de l'utilisateur. Vous pouvez modifier la fenêtre contextuelle avec ce paramètre. Utilisez null si vous ne souhaitez pas modifier la valeur par défaut ; par exemple, si vous voulez seulement modifier l'ID utilisateur.

Réglez la configuration des publicités rémunérées comme suit :

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

Liste des placements valides

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

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

Pour utiliser les API Vungle pour mettre à jour ou demander le statut du consentement de l'utilisateur (comme recommandé dans l'Option 1 de la section RGPD : mise en œuvre recommandée), utilisez ces fonctions :

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

Accélération matérielle

L'accélération matérielle est activée par défaut 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 Native Flex. 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

Remarques supplémentaires

Android Studios rencontre un problème connu susceptible d'engendrer la panne présentée ci-dessous. Si vous possédez la dernière version d'Android Studios Instant Run, désactivez-la pour résoudre le problème.

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
Vous avez d’autres questions ? Envoyer une demande

Commentaires