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.
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();
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();
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);
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)
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
entrue
enbuild.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.
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
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);
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" ...>
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
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. |
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.
<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>
- 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.
- 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.
- Cree un nuevo archivo XML con las reglas de exclusión de Vungle.
- Coloque el archivo .xml en el directorio
res/xml
. - Agregue
fullBackupContent
en la etiqueta de aplicación deAndroidManifest.xml
con el nombre de archivo del archivo .xml que creó anteriormente.<application android:fullBackupContent="@xml/vungle_backup_rule">
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" >