Los anuncios recompensados son aquellos con los que los usuarios pueden interactuar a cambio de recompensas en la aplicación. En esta guía, se muestra cómo integrar anuncios recompensados de Ad Manager en una app de Flutter.
Haz siempre una comprobación con anuncios de prueba
Al compilar y verificar tus apps, asegúrate de usar anuncios de prueba en vez de anuncios activos en fase de producción. De lo contrario, tu cuenta podría suspenderse.
La forma más sencilla de cargar anuncios de prueba es usar nuestro ID de unidad de anuncios de prueba exclusivo para los anuncios recompensados:
/21775744923/example/rewarded
Las unidades de anuncios de prueba están configuradas para devolver anuncios de prueba en cada solicitud, y puedes usarlas en tus propias apps durante las tareas de programación, prueba y depuración. Solo asegúrate de reemplazarlas por tus propios IDs de unidades de anuncios antes de publicar la app.
Carga un anuncio
En el siguiente ejemplo, se carga un anuncio recompensado:
Reemplaza _adUnitId por tu propio ID de unidad de anuncios.
Eventos de anuncios recompensados
Con FullScreenContentCallback
, puedes escuchar eventos del ciclo de vida, como cuando se muestra o se descarta el anuncio. Establece RewardedAd.fullScreenContentCallback
antes de mostrar el anuncio para recibir notificaciones de estos eventos. En este ejemplo, se implementa cada método y se registra un mensaje en la consola.
ad.fullScreenContentCallback = FullScreenContentCallback(
onAdShowedFullScreenContent: (ad) {
// Called when the ad showed the full screen content.
debugPrint('Ad showed full screen content.');
},
onAdFailedToShowFullScreenContent: (ad, err) {
// Called when the ad failed to show full screen content.
debugPrint('Ad failed to show full screen content with error: $err');
// Dispose the ad here to free resources.
ad.dispose();
},
onAdDismissedFullScreenContent: (ad) {
// Called when the ad dismissed full screen content.
debugPrint('Ad was dismissed.');
// Dispose the ad here to free resources.
ad.dispose();
},
onAdImpression: (ad) {
// Called when an impression occurs on the ad.
debugPrint('Ad recorded an impression.');
},
onAdClicked: (ad) {
// Called when a click is recorded for an ad.
debugPrint('Ad was clicked.');
},
);
Anuncio gráfico
Un RewardedAd
se muestra como una superposición sobre todo el contenido de la app y se coloca de forma estática. Por lo tanto, no se puede agregar al árbol de widgets de Flutter. Puedes elegir cuándo mostrar el anuncio llamando a show()
.
RewardedAd.show()
toma un OnUserEarnedRewardCallback
, que se invoca cuando el usuario obtiene una recompensa. Asegúrate de implementar esta opción y recompensar al usuario por mirar un anuncio.
_rewardedAd?.show(
onUserEarnedReward:
(AdWithoutView ad, RewardItem rewardItem) {
debugPrint(
'Reward amount: ${rewardItem.amount}',
);
},
);
Una vez que se llama a show()
, no se puede quitar de forma programática un Ad
que se muestra de esta manera; en cambio, se requiere la entrada del usuario. Un RewardedAd
solo se puede mostrar una vez. Las llamadas posteriores para mostrarlo activarán onAdFailedToShowFullScreenContent
.
Se debe descartar un anuncio cuando ya no se necesita acceder a él. La práctica recomendada para saber cuándo llamar a dispose()
se basa en las devoluciones de llamada FullScreenContentCallback.onAdDismissedFullScreenContent
y FullScreenContentCallback.onAdFailedToShowFullScreenContent
.
Valida las devoluciones de llamada de la verificación del servidor (SSV) (opcional)
Las apps que requieren datos adicionales en las devoluciones de llamada de la verificación del servidor deben usar la función de datos personalizados de los anuncios recompensados. Todos los valores de cadena establecidos en un objeto de anuncio recompensado se pasan al parámetro de consulta custom_data
de la devolución de llamada de la SSV. Si no se establece ningún valor de datos personalizados, el valor del parámetro de consulta custom_data
no estará presente en la devolución de llamada de la SSV.
En la siguiente muestra de código, se puede ver cómo se establecen las opciones de la SSV después de que se carga el anuncio recompensado:
Reemplaza SAMPLE_CUSTOM_DATA_STRING por tus datos personalizados.