Descripción general
Acerca de los anuncios intersticiales
Los anuncios intersticiales son anuncios de pantalla completa que cubren la interfaz de su aplicación. Por lo general, se muestran en puntos de transición naturales del flujo de la aplicación, por ejemplo, entre actividades o durante la pausa entre los niveles de un juego. Algunos anuncios intersticiales son anuncios con recompensa.
Acerca de los anuncios con recompensa
Los anuncios con recompensa brindan una excelente experiencia de usuario ofreciéndoles a los usuarios algo de valor a cambio de mirar o interactuar con un anuncio. Este intercambio suele ser una recompensa dentro de la aplicación, como vidas extra en un juego, monedas virtuales o la pista de un acertijo (usted determina la naturaleza y el monto de la recompensa). Los anuncios de video con recompensa que se muestran en las pausas naturales de la aplicación generan altos ingresos, especialmente si sigue nuestra recomendación de que no se puedan omitir.
Tenga en cuenta que los anuncios con recompensa se denominan en algunos casos “anuncios con incentivo”; ambos términos siempre se refieren al mismo tipo de anuncio. Si bien “con recompensa” es nuestro término preferido, en el código del SDK y la API de informes, utilizamos el término “con incentivo”.
Hay dos formas de integrar anuncios con recompensa: con recompensas en la aplicación (recomendado, se describen a continuación) o con devoluciones de llamada de servidor a servidor (consulte el artículo de preguntas frecuentes sobre este tema). Con las recompensas en la aplicación, cuando un usuario hace clic en el botón de descarga o completa la vista de anuncio correctamente, puede recompensarlo directamente en la aplicación. El principal beneficio de este enfoque es su fácil implementación. Si está buscando algo rápido y no le preocupan los ataques de repetición, esto debería ser suficiente.
Vungle ahora ofrece una variedad de formatos de anuncios con anuncios de plantilla dinámica. A diferencia del formato tradicional de los anuncios, en el que la reproducción de un anuncio consiste en la reproducción de un video seguida de una tarjeta de objetivos, ofrecemos plantillas en las que el botón llamada de acción (CTA, por sus siglas en inglés) está disponible durante la reproducción del video. Los usuarios que finalizan la visualización del anuncio de video, así como aquellos que hacen clic en el botón, deberían recibir una recompensa.
Paso 1. Complete la integración básica
Para integrar anuncios intersticiales en la aplicación de Android o Amazon, siga las instrucciones del artículo de integración básica. Este artículo contiene información adicional y asume que ha completado la integración básica.
Paso 2. Implemente monitores de eventos
Puede usar devoluciones de llamada genéricas implementando LoadAdCallback
para eventos de carga de anuncios y PlayAdCallback
para eventos de reproducción de anuncios, o puede usar devoluciones de llamada en línea cuando ejecuta loadAd
y playAd
.
LoadAdCallback
private final LoadAdCallback vungleLoadAdCallback = new LoadAdCallback() {
@Override
public void onAdLoad(String id) {
// Ad has been successfully loaded for the placement
}
@Override
public void onError(String id, VungleException exception) {
// Ad has failed to load for the placement
}
};
// 6.4.x & below
private final LoadAdCallback vungleLoadAdCallback = new LoadAdCallback() {
@Override
public void onAdLoad(String id) {
// Ad has been successfully loaded for the placement
}
@Override
public void onError(String id, Throwable throwable) {
// Ad has failed to load for the placement
}
};
Métodos de anulación | Descripción |
---|---|
onAdLoad(String id) |
Se ejecuta cuando el anuncio se ha cargado correctamente y se reproduce para la ubicación. |
onError(String id) |
Se ejecuta cuando se produce un error al intentar reproducir un anuncio. Podrá consultar el mensaje de error desde getLocalizedMessage de VungleException y utilizar getExceptionCode para la depuración. |
PlayAdCallback
private final PlayAdCallback vunglePlayAdCallback = new PlayAdCallback() {
@Override
public void onAdStart(String id) {
// Ad experience started
}
@Override
public void onAdEnd(String id) {
// Ad experience ended
}
@Override
public void onAdClick(String id) {
// User clicked on ad
}
@Override
public void onAdRewarded(String id) {
// User earned reward for watching an ad
}
@Override
public void onAdLeftApplication(String id) {
// User has left app during an ad experience
}
@Override
public void onError(String id, VungleException exception) {
// Ad failed to play
}
};
// 6.5.x & below
private final PlayAdCallback vunglePlayAdCallback = new PlayAdCallback() {
@Override
public void onAdStart(String placementReferenceId) {
// Ad experience started
}
// Deprecated
@Override
public void onAdEnd(String placementReferenceId, boolean completed, boolean isCTAClicked) {
// Invoked when the ad experience is completed
// isCTAClicked flag indicates whether CTA download button has been triggered
// completed flag will indicate whether user has watched 80% of video or longer.
}
@Override
public void onError(String placementReferenceId, VungleException exception) {
// Ad failed to play
}
};
Métodos de anulación | Descripción |
---|---|
onAdStart(String id) |
Se ejecuta cuando el anuncio se ejecuta y se muestra correctamente en el dispositivo. |
onAdEnd(String id) |
Se ejecuta cuando se completa toda la experiencia del anuncio, justo antes de que el control se haya devuelto a la aplicación de alojamiento. |
onAdClick(String id) |
Se ejecuta cuando el usuario hizo clic en un anuncio de video o un botón de descarga. |
onAdRewarded(String id) |
Se ejecuta cuando el usuario ha completado el 80 % del video con recompensa y debe ser recompensado. La recompensa al usuario debe realizarse aquí y solo se activará para las ubicaciones con recompensa. |
onAdLeftApplication(String id) |
Se ejecuta cuando el usuario abandona la aplicación antes de que se complete la experiencia del anuncio, como cuando se abre la página de la tienda del anuncio. |
onAdError(String id, VungleException exception) |
Se ejecuta cuando se produce un error al intentar reproducir un anuncio. Podrá consultar el mensaje de error desde getLocalizedMessage de VungleException y utilizar getExceptionCode para la depuración. |
Paso 3. Cargue y reproduzca un anuncio
Cargar un anuncio para una ubicación
Se le notificará a LoadAdCallback
el estado de carga de la llamada a la que se asignó. El SDK solo hace referencia a esta devolución de llamada y no la almacena en ningún lugar; es responsabilidad de la persona que llama asegurarse de que la devolución de llamada se administre correctamente.
public static void loadAd(@NonNull final String id, @Nullable LoadAdCallback callback)
// Load Ad Implementation if (Vungle.isInitialized()) { Vungle.loadAd("PLACEMENT_ID", new LoadAdCallback() { @Override public void onAdLoad(String placementReferenceId) { } @Override public void onError(String placementReferenceId, VungleException exception) { } }); }
Comprobar la disponibilidad de un anuncio para una ubicación
Utilice el método estático canPlayAdmethod
para comprobar si hay un anuncio disponible para reproducir en la ubicación antes de ejecutar el método playAd
.
public static boolean canPlayAd(@NonNull String id)
Reproducir un anuncio
Para reproducir un anuncio, ejecute el método playAd
con la id. de referencia de ubicación, AdConfig
opcional (nulo si no se utiliza), y un monitor de eventos PlayAdCallback
, que recibirá una notificación de éxito o errores durante la reproducción del anuncio.
public static void playAd(@NonNull final String id, final AdConfig settings, @Nullable final PlayAdCallback listener)
Verifique siempre la disponibilidad de anuncios a través del método canPlayAd
antes de ejecutar el método playAd
. Debido a que un anuncio no se procesará correctamente si se invoca playAd
repetidamente en una sucesión rápida, también debe asegurarse de recibir una devolución de llamada onAdEnd
o onError
de la llamada playAd
inicial antes de emitir una playAd
adicional.
if (Vungle.canPlayAd("PLACEMENT_ID")) { Vungle.playAd("PLACEMENT_ID", null, new PlayAdCallback() { @Override public void onAdStart(String placementReferenceId) { } @Override public void onAdEnd(String placementReferenceId, boolean completed, boolean isCTAClicked) { } @Override public void onError(String placementReferenceId, VungleException exception) { } }); }
Paso 4. Configure todos los anuncios de pantalla completa (opcional)
Tiene la opción de personalizar los anuncios individuales que reproduce proporcionando un nuevo objeto adConfig
a playAd
. Cuando el objeto AdConfig
es nulo, el anuncio se reproduce con la configuración predeterminada; cuando no es nulo, las configuraciones anulan las del configurador AdConfig
. El siguiente es un ejemplo de cómo utilizar AdConfig
:
Vungle.playAd(placementReferenceID, adConfig, vunglePlayAdCallback);
El ejemplo anterior utiliza el objeto adConfig
, que contiene opciones de configuración personalizadas. Configure el objeto AdConfig
como se muestra:
AdConfig adConfig = new AdConfig(); adConfig.setAdOrientation(AdConfig.AUTO_ROTATE); adConfig.setMuted(true); Vungle.playAd(placementReferenceID, adConfig, vunglePlayAdCallback);
La siguiente tabla enumera todas las opciones de AdConfig
disponibles:
Opción |
Descripción |
|
“true” si el botón Atrás debe habilitarse antes de que aparezca el botón Cerrar anuncio; de lo contrario, “false” |
|
AdConfig.AUTO_ROTATE si el anuncio de video debe rotar automáticamente; de lo contrario, AdConfig.LANDSCAPE o AdConfig.PORTRAIT para seguir la orientación del anuncio de video |
|
“false” si el video debe comenzar con la configuración de audio que coincida con la aplicación adjunta; “true” si debe comenzar silenciado de todos modos |
|
toma un valor entero del recuento ordinal para realizar un seguimiento del número de anuncios que se han reproducido en la misma sesión |
Nota: Puede utilizar el mismo objeto AdConfig
para varios anuncios.
Paso 5. Personalice los anuncios con recompensa (opcional)
Diálogo de mensaje emergente
El cuadro de diálogo de mensaje emergente para anuncios con recompensa se puede configurar con el método setIncentivizedFields
.
public static void setIncentivizedFields(@Nullable String userID, @Nullable String title, @Nullable String body, @Nullable String keepWatching, @Nullable String close)
Consideraciones de recompensa
No existe un estándar para recompensar a los usuarios. Su decisión depende de cómo funcione la economía de su juego. Un desarrollador debe recompensar al usuario lo suficiente como para que la opción de video sea atractiva, pero no tanto como para que la recompensa reemplace una compra de IAP. También es importante colocar un límite de visualización diario en los videos con recompensa; esto limita el número de recompensas por usuario.
Estas son algunas preguntas que debe hacerse al decidir la cantidad correcta de la recompensa:
-
¿Qué es más valioso para el usuario: moneda blanda o moneda fuerte?
La moneda blanda es más barata de regalar, pero los usuarios pueden ser más propensos a ver un video de un artículo que pueden usar de inmediato. También puede usar el video con recompensa como una forma de presentar nuevos artículos al usuario e incentivarlo a comprar el IAP más adelante. -
¿Qué tan atractiva es la recompensa para el usuario?
Le recomendamos que se asegure de que la recompensa sea algo que el usuario realmente necesite o desee y que no sea fácil de conseguir. -
¿En qué se diferencia la recompensa con el IAP más común?
Le recomendamos que la recompensa sea el trampolín para obtener ese IAP, o algo que el usuario desee, pero que nunca compre. -
¿En qué se diferencia la recompensa con lo que el usuario gana en promedio al jugar el juego?
Si el usuario gana el mismo monto de recompensa por jugar un solo nivel, es posible que el usuario no perciba que la recompensa equivale a 15 segundos de su tiempo. -
¿Debo limitar la cantidad de recompensas por usuario por día?
Sí, establecer un límite de visualización diaria puede ayudar a controlar cuántos artículos/monedas gratis puede ganar el usuario.
Nuestro equipo de Administración de Cuentas también puede ayudarlo. Envíenos un correo electrónico a monetize@vungle.com.