Índice
- Configuración global de anuncios
- Configuración individual de anuncios
- Opciones de configuración
- Interfaz de Detector de Eventos
- Proguard
Tome en cuenta: Este artículo trata de la configuración avanzada del Vungle SDK para Android. Si usted recién comienza con nuestro SDK para Android, le sugerimos revisar nuestra Guía de Inicio para Android..
Configuración global de anuncios
Después de invocar a init
puede obtener acceso opcional al objeto AdConfig
global. Este objeto le permite establecer opciones que se aplicarán automáticamente a todos los anuncios que reproduzca.
import com.vungle.publisher.VunglePub;
import com.vungle.publisher.AdConfig;
import com.vungle.publisher.Orientation;
public class FirstActivity extends android.app.Activity {
...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
vunglePub.init(this, app_id);
// Obtiene una referencia al objeto AdConfig global
final AdConfig globalAdConfig = vunglePub.getGlobalAdConfig();
// establece cualquier opción de configuración que desee.
// Para una descripción completa de las opciones disponibles, consulte la
// sección 'Opciones de Configuración'.
globalAdConfig.setSoundEnabled(true);
globalAdConfig.setOrientation(Orientation.autoRotate);
}
}
Configuración individual de anuncios
Puede personalizar cada anuncio individual que reproduzca proporcionando un objeto
AdConfig a playAd
. Si ha establecido opciones en la configuración global de anuncios (arriba), esas opciones quedarán sobrescritas por las opciones proporcionadas. Consiga una sustitución de AdConfig
de la siguiente manera:
import com.vungle.publisher.VunglePub;
import com.vungle.publisher.AdConfig;
public class GameActivity extends android.app.Activity {
...
private void onLevelComplete() {
// crear un nuevo objeto AdConfig
final AdConfig overrideConfig = new AdConfig();
// establece cualquier opción de configuración que desee.
// Para una descripción completa de las opciones disponibles, consulte la
// sección 'Opciones de Configuración'.
overrideConfig.setIncentivized(true);
overrideConfig.setSoundEnabled(false);
// el objeto overrideConfig solo afectará la reproducción de este anuncio.
vunglePub.playAd(overrideConfig);
}
}
Opciones de configuración
El objeto AdConfig
La sustitución de AdConfig
cuenta con una colección de opciones que pueden establecerse para una reproducción individual del anuncio. Las opciones disponibles se detallan en la lista a continuación:
Método | Predeterminado | Descripción |
---|---|---|
setOrientation |
Orientation.matchVideo |
Orientation.autoRotate indica que el anuncio rotará automáticamente según la orientación del dispositivo.Orientation.matchVideo indica que el anuncio se reproducirá con la mejor orientación para el video (generalmente, de modo horizontal). |
setSoundEnabled |
verdadero |
Establece el estado del sonido inicial para el anuncio. Si es verdadero , el audio respeta el volumen y los ajustes de sonido del dispositivo. Si es falso , el video comienza silenciado, pero el usuario puede modificarlo. |
setBackButtonImmediatelyEnabled |
falso |
Si es verdadero , el usuario tiene la posibilidad de salir inmediatamente de un anuncio usando el botón para retroceder. Si es falso , el usuario no podrá usar el botón para retroceder para salir del anuncio hasta que el botón para cerrar se muestre en la pantalla. |
setImmersiveMode |
falso |
Habilita o deshabilita el modo inmersivo en dispositivos KitKat+ |
setIncentivized |
falso |
Establece el modo incentivado - debe establecer esto en 'verdadero' si está usando devoluciones de llamadas de servidor a servidor para sus anuncios con recompensas. Si es 'verdadero', el usuario recibirá un diálogo de confirmación al intentar omitir el anuncio. Si falso, no se muestra confirmación alguna. Encontrará instrucciones adicionales para configurar anuncios incentivados aquí. |
setIncentivizedUserId |
ninguno | Establece el identificador único del usuario (user id) que se pasará a su aplicación con el fin de verificar si el usuario debe recibir una recompensa por ver un anuncio incentivado. No disponible si el anuncio no está incentivado. |
setIncentivizedCancelDialogTitle |
"¿Cerrar video?" | Establece el título del diálogo de confirmación al omitir un anuncio incentivado. No disponible si el anuncio no está incentivado. |
setIncentivizedCancelDialogBodyText |
"Si cierra este video anticipadamente, no ganará su recompensa. ¿Está seguro?" | Establece el cuerpo del diálogo de confirmación al omitir un anuncio incentivado. No disponible si el anuncio no está incentivado. |
setIncentivizedCancelDialogCloseButtonText |
"Cerrar video" | Establece el texto del 'botón cancelar' del diálogo de confirmación al omitir un anuncio incentivado. No disponible si el anuncio no está incentivado. |
setIncentivizedCancelDialogKeepWatchingButtonText |
"Continuar viendo" | Establece el texto del 'botón continuar viendo' del diálogo de confirmación al omitir un anuncio incentivado. No disponible si el anuncio no está incentivado. |
setExtra1..8 |
ninguno | PRÓXIMAMENTE - Esta característica todavía no se ha completado, pero cuando esté lista la podrá utilizar para realizar un seguimiento de parámetros como edad, sexo, etc. |
setPlacement |
ninguno | PROXIMAMENTE - Metadatos que indican el detalle de la ubicación de la reproducción individual de un anuncio. Se utiliza para filtrar diferentes experiencias publicitarias al recuperar datos de informes para el funcionamiento de su aplicación |
setTransitionAnimationEnabled |
falso | Activa o desactiva la animación de transición de fragmentos estándar |
Mostrar el Botón Cerrar
Para controlar si un usuario cuenta con la opción de salir de un anuncio, use las opciones de visualización forzada en los ajustes avanzados de su aplicación en el Panel de control de Vungle.
La interfaz de Detector de eventos
El SDK Publisher genera varios eventos que usted puede gestionar de manera programática al implementar com.vungle.publisher.EventListener
clases y registrarlas/eliminarlas usando:
VunglePub.setEventListeners(eventListener1, eventListener2, ...)
Recuerde eliminar el Detector de eventos cuando ya no lo necesite usar para evitar una fuga de memoria.
Los métodos disponibles para manipular el Detector de eventos se detallan en la lista a continuación:
Método | Descripción |
añadir Detector de eventos() | Elimina los Detectores de Eventos registrados y luego agrega los Detectores de Eventos de entrada. |
eliminar Detector de eventos() | Elimina los Detectores de eventos |
eliminar Detectores de eventos() | Elimina los Detector de eventos de entrada. |
Nota sobre la tarea UI
Las devoluciones de llamadas se ejecutan en un subproceso en segundo plano (background thread), así que todas las interacciones/actualizaciones de la interfaz del usuario que resultan de una devolución de llamada del evento deben pasar al subproceso principal de la interfaz del usuario (UI Thread) antes de ejecutarse. Las dos maneras comunes de ejecutar su código en el subproceso de UI son:
import com.vungle.publisher.EventListener;
...
public class FirstActivity extends android.app.Activity {
...
private final EventListener vungleListener = new EventListener(){
@Deprecated
@Override
public void onVideoView(boolean isCompletedView, int watchedMillis, int videoDurationMillis) {
// Este método es obsoleto y se eliminará. Por favor, no lo utilice.
// Utilice onAdEnd en su lugar.
}
@Override
public void onAdStart() {
// Invocado antes de reproducir un anuncio
}
@Override
public void onAdEnd(boolean wasSuccessfulView, boolean wasCallToActionClicked) {
// Invocado cuando el usuario abandona el anuncio y se devuelve el control a la aplicación
// Si wasSuccessfulView es verdad, el usuario miró el anuncio y debe ser recompensado
// (si este fue un anuncio recompensado).
// Si wasCallToActionClicked is verdad, el usuario hizo click en el botón de la llamada
// de acción en el anuncio.
}
@Override
public void onAdPlayableChanged(boolean isAdPlayable) {
// Invocado cuando cambia el estado de reproductibilidad. Si isAdPlayable es verdadero, ahora puede
// reproducir un anuncio.
// Si es falso, ya no puede reproducir un anuncio.
}
@Override
public void onAdUnavailable(String reason) {
// Invocado cuando se invocó VunglePub.playAd (), pero no había ningún anuncio disponible para reproducir
}
};
@Override
public void onCreate(Bundle savedInstanceState) {
...
vunglePub.init(this, app_id);
vunglePub.setEventListeners(vungleListener);
};
@Override
public void onDestroy() {
...
vunglePub.clearEventListeners();
};
}
Proguard
Si está usando Proguard, asegúrese de que las siguientes líneas estén en su archivo de configuración de Proguard:
-dontwarn com.vungle.**
-keep class com.vungle.** { *; } // omitted public
-keep class javax.inject.*
Comentarios