Configuración avanzada

Siga las instrucciones del artículo de integración básica y luego las instrucciones para cualquiera de los formatos de anuncios que desee integrar (anuncios intersticiales o con recompensa, anuncios publicitarios, anuncios MREC). Este artículo contiene información adicional y asume que ha completado la integración básica.

Instrucciones de implementación recomendadas para RGPD

A partir del 25 de mayo de 2019, se aplica en la Unión Europea el Reglamento General de Protección de Datos (RGPD, también conocido por sus iniciales en inglés: GDPR). Para cumplir con el RGPD, los desarrolladores tienen dos opciones.

  • Opción 1 (recomendada): El editor controla el proceso de consentimiento de RGPD a nivel del usuario y luego comunica la elección del usuario a Vungle. Para hacer esto, los desarrolladores pueden obtener el consentimiento del usuario usando su propio mecanismo y luego usar las API de Vungle para actualizar o consultar el estado de consentimiento del usuario. Consulte el código de muestra a continuación para obtener más información.
  • Opción 2: Permitir que Vungle maneje los requisitos. Vungle mostrará un cuadro de diálogo de consentimiento antes de reproducir un anuncio para un usuario europeo, y recordará el consentimiento o rechazo del usuario para anuncios posteriores.

El método updateConsentStatus (recomendado en la Opción 1) toma el estado de consentimiento del usuario y la versión del mensaje de consentimiento como parámetros.

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

El estado de consentimiento especificará si el usuario tiene OPTED_IN o OPTED_OUT para la versión del mensaje que mostró. consentMessageVersion especifica la versión de la política de consentimiento controlada por el editor; esto le permite agrupar a sus usuarios a través de la versión del mensaje y buscar el consentimiento nuevamente cuando cambie la política de GDPR.

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

Implementación de CCPA

A partir del 1.° de julio de 2020, se aplicará la Ley de Privacidad del Consumidor de California (CCPA), y los editores deben actualizar al Android SDK 6.7.0 para cumplir con la CCPA.

El método updateCCPAStatus toma el estado de consentimiento del usuario para especificar si el usuario tiene OPTED_IN o OPTED_OUT y el método getCCPAStatus() devuelve el estado actual de CCPA para el usuario.

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

Restringir el uso de la id. del dispositivo

A partir de Vungle Android SDK v6.4.11, ahora puede restringir la transmisión de la id. de Android utilizada cuando la id. de publicidad de Google no está 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);

Incluir Google Play Services

La inclusión de Google Play Services con su proyecto es opcional, pero se recomienda. Permite que Vungle proporcione una experiencia publicitaria más personalizada a su usuario final. Le recomendamos que incluya API de identificador de anuncios y oculto, y que utilice la versión de Google Play Services v11.0.1 o superior.

Para incluir Google Play Services, consulte la guía de configuración de Google. En su aplicación, asegúrese de que el dispositivo tenga una versión suficientemente actualizada de Google Play Services. El SDK de Vungle utiliza opcionalmente la ubicación y la API de anuncios de Google Play Services.

  • google.android.gms:play-services-basement:16.0.0 (recomendado)
  • google.android.gms:play-services-ads-identifier:16.0.0 (requerido para AAID)

Reducción del número de métodos

Al agregar Vungle Android SDK v6 a su proyecto, se agregan aproximadamente 700 métodos básicos de Vungle, a excepción de cualquier dependencia transitiva. Se espera que una integración completa que incluya bibliotecas de terceros agregue menos de 4000 métodos en promedio. Considere las siguientes sugerencias para reducir la cantidad total de métodos agregados a su proyecto:

  • ProGuard: Puede habilitar ProGuard para reducir el código de su proyecto. Descartará cualquier clase no utilizada en el momento de la compilación para que el método total cuente lo menos posible. Puede habilitarlo estableciendo minifyEnabled en true en build.gradle para el tipo de compilación apropiado y proporcionando las reglas para mantener las clases requeridas por su proyecto.
  • MultiDex: Si todavía está por encima de un recuento de métodos de 65K, habilitar MultiDex puede ser la única solución proporcionada por Google. Solo debe configurar su proyecto en MultiDex una vez, pero tendrá un impacto en el tiempo de compilación e inicio de la aplicación.

ProGuard

Si está utilizando ProGuard, agregue las siguientes reglas a su archivo de configuración de 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

Establecer espacio mínimo en disco

La configuración de espacio mínimo en disco se introdujo en el SDK de Vungle v6.4.11 para determinar los límites de espacio disponible en el dispositivo de un usuario antes de que el SDK de Vungle se inicialice y obtenga anuncios. El valor predeterminado para setMinimumSpaceForInit es de 51 MB y para setMinimumSpaceForAd es de 50 MB. El tamaño se ingresa en bytes.

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

Aceleración de hardware

La aceleración de hardware está habilitada de forma predeterminada para su aplicación si su nivel de API de destino se estableció en 14 o superior. Esta opción debe estar habilitada para que el SDK muestre correctamente la plantilla dinámica y los anuncios MREC. Asegúrese de que esta opción esté configurada como “true” en el de aplicación de su proyecto:

<application android:hardwareAccelerated="true" ...>

Recuperar el número de versión del SDK

Para obtener programáticamente el número de versión del SDK en tiempo de ejecución (esto es útil en la mediación interna), Vungle proporciona la siguiente cadena:

com.vungle.warren.BuildConfig.VERSION_NAME

Códigos de excepción para la depuración

InitCallback, PlayAdCallback y LoadAdCallback tendrán un código VungleException cuando se active la devolución de llamada onError. Puede utilizar el código para depurar o realizar acciones para corregir el problema mediante la programación.

if (exception.getExceptionCode() == VungleException.VUNGLE_NOT_INTIALIZED) {
  // Call routine to initialize SDK
}
Código de excepción Descripción
CONFIGURATION_ERROR Ocurrió un error de configuración. Verifique su id. de aplicación y los id. de referencia de ubicación, e intente nuevamente cuando la conectividad de red esté disponible.
NO_SERVE El servidor de anuncios no encontró anuncios para su puja actual. Inténtelo de nuevo más tarde. Esta excepción es el comportamiento esperado.
UNKNOWN_ERROR Se produjo un error desconocido. Esta excepción debería ser poco común.
AD_EXPIRED El anuncio en la caché ha caducado y ya no se puede reproducir. Cargue otro anuncio.
MISSING_REQUIRED_ARGUMENTS_FOR_INIT Asegúrese de que se proporcionen todos los parámetros de Vungle.init() marcados como NonNull, ya que son esenciales para que el SDK funcione.
APPLICATION_CONTEXT_REQUIRED Proporcione la aplicación Context para que nuestro SDK pueda seguir respaldando nuestra API más allá del ciclo de vida Activity.
OPERATION_ONGOING Ya existe una operación en curso para la acción que solicitó. Espere hasta que finalice la operación antes de iniciar otra.
VUNGLE_NOT_INTIALIZED Vungle no se inicializa o ya no se inicializa. Llame a Vungle.init() para reinicializarlo.
AD_UNABLE_TO_PLAY No se puede reproducir el anuncio.
AD_FAILED_TO_DOWNLOAD No se pudo descargar el anuncio.
PLACEMENT_NOT_FOUND La ubicación no es válida.
SERVER_RETRY_ERROR El servidor remoto respondió con HTTP Retry-After, el SDK volverá a intentar esta solicitud.

Configurar la copia de seguridad automática para la integración JAR

La configuración “permitir copia de seguridad” está habilitada de forma predeterminada para su aplicación para API 23 o superior. La regla de respaldo asegura que todos los datos de la aplicación estén respaldados para el correcto funcionamiento del SKD de Vungle y de la propia aplicación. Si no ha desactivado la configuración “permitir copia de seguridad” ni ha especificado sus propias reglas de copia de seguridad, debe proporcionar reglas XML adicionales para definir qué archivos de nuestro sistema de archivos SDK deben excluirse de la copia de seguridad automática.

Reglas de exclusión de 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>

Integración de Gradle con reglas de copia de seguridad para desarrolladores

  1. Agregue reglas de exclusión del SDK de Vungle al archivo .xml existente que tiene las propias reglas de exclusión de su aplicación.
  2. Configure fullBackupContent para que se reemplace en el nivel de la aplicación y agregue la regla de exclusión del SDK de Vungle al .xml existente.

Integración JAR con reglas de copia de seguridad para desarrolladores

  1. Cree un nuevo archivo XML con las reglas de exclusión de Vungle.
  2. Coloque el archivo .xml en el directorio res/xml.
  3. Agregue fullBackupContent en la etiqueta de aplicación de AndroidManifest.xml con el nombre de archivo del archivo .xml que creó anteriormente.
    <application
        android:fullBackupContent="@xml/vungle_backup_rule">

Desactivar la copia de seguridad automática

Si no se requiere una copia de seguridad para su aplicación, simplemente puede desactivarla en la etiqueta de la aplicación:

<application 
    android:allowBackup="false" >

Lista de ubicaciones válidas

Proporcionamos un método auxiliar que presenta una colección de cadenas con todos los id. de referencia de ubicación válidos para la sesión actual.

public static Collection getValidPlacements()

Questions?

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

¿Fue útil este artículo?