Anuncios intersticiales recompensados (beta)

Los anuncios intersticiales recompensados son un tipo de formato de anuncio incentivado que te permite ofrecer recompensas por los anuncios que aparecen automáticamente durante las transiciones naturales de la app. A diferencia de los anuncios recompensados, para ver un anuncio intersticial recompensado. En esta guía, se muestra cómo integra anuncios intersticiales recompensados de Ad Manager en una app de Flutter.

Requisitos previos

  • Complemento de Flutter 1.1.0 o posterior.
  • Completa Comenzar. Tu La app de Flutter ya debería tener el complemento de Flutter de anuncios de Google para dispositivos móviles importado.

Probar siempre con anuncios de prueba

Cuando compiles y pruebes tus apps, asegúrate de usar anuncios de prueba en lugar de anuncios activos y en producción. De lo contrario, podría suspenderse tu cuenta.

La forma más sencilla de cargar anuncios de prueba es usar nuestro ID exclusivo de unidad de anuncios de prueba para Anuncios intersticiales recompensados:

  • /21775744923/example/rewarded_interstitial

Las unidades de anuncios de prueba están configuradas para mostrar anuncios de prueba para cada solicitud. puedes usarlas en tus apps mientras codificas, pruebas y depuras. Solo asegúrate de reemplazarlos con tus propios IDs de bloques de anuncios antes de publicarlos. tu app.

Carga un anuncio

En el siguiente ejemplo, se carga un anuncio intersticial recompensado:

class RewardedInterstitialExampleState extends State<RewardedInterstitialExample> {
  RewardedInterstitialAd? _rewardeInterstitialdAd;

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = '/21775744923/example/rewarded_interstitial';

  /// Loads a rewarded ad.
  void loadAd() {
    RewardedInterstitialAd.loadWithAdManagerAdRequest(
        adUnitId: adUnitId,
        adManagerAdRequest: const AdManagerAdRequest(),
        adLoadCallback: RewardedInterstitialAdLoadCallback(
          // Called when an ad is successfully received.
          onAdLoaded: (ad) {
            debugPrint('$ad loaded.');
            // Keep a reference to the ad so you can show it later.
            _rewardedInterstitialAd = ad;
          },
          // Called when an ad request failed.
          onAdFailedToLoad: (LoadAdError error) {
            debugPrint('RewardedInterstitialAd failed to load: $error');
          },
        ));
  }
}

Eventos de anuncios intersticiales recompensados

Mediante el uso de FullScreenContentCallback, puedes escuchar el ciclo de vida eventos, como cuando se muestra o se descarta el anuncio. Definir RewardedInterstitialAd.fullScreenContentCallback antes de mostrar el anuncio a para recibir notificaciones de estos eventos. En este ejemplo, se implementa cada método y registra un mensaje en la consola:

class RewardedInterstitialExampleState extends State<RewardedInterstitialExample> {
  RewardedInterstitialAd? _rewardedInterstitialAd;

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = '/21775744923/example/rewarded_interstitial';

  /// Loads a rewarded ad.
  void loadAd() {
    RewardedInterstitialAd.loadWithAdManagerAdRequest(
        adUnitId: adUnitId,
        adManagerAdRequest: const AdManagerAdRequest(),
        adLoadCallback: RewardedInterstitialAdLoadCallback(
          // Called when an ad is successfully received.
          onAdLoaded: (ad) {
            ad.fullScreenContentCallback = FullScreenContentCallback(
              // Called when the ad showed the full screen content.
              onAdShowedFullScreenContent: (ad) {},
              // Called when an impression occurs on the ad.
              onAdImpression: (ad) {},
              // Called when the ad failed to show full screen content.
              onAdFailedToShowFullScreenContent: (ad, err) {
                // Dispose the ad here to free resources.
                ad.dispose();
              },
              // Called when the ad dismissed full screen content.
              onAdDismissedFullScreenContent: (ad) {
                // Dispose the ad here to free resources.
                ad.dispose();
              },
              // Called when a click is recorded for an ad.
              onAdClicked: (ad) {});

            debugPrint('$ad loaded.');
            // Keep a reference to the ad so you can show it later.
            _rewardedInterstitialAd = ad;
          },
          // Called when an ad request failed.
          onAdFailedToLoad: (LoadAdError error) {
            debugprint('RewardedInterstitialAd failed to load: $error');
          },
        ));
  }
}

Anuncio gráfico

Se muestra una RewardedInterstitialAd como una superposición sobre todo el contenido de la app. y se coloca estáticamente; por lo que no se puede agregar al árbol de widgets de Flutter. Puedes elegir cuándo mostrar el anuncio llamando a show(). RewardedInterstitialAd.show() toma un OnUserEarnedRewardCallback, que es se invoca cuando el usuario obtiene una recompensa. Asegúrate de implementar esto y recompensar a los usuario por mirar un anuncio.

_rewardedInterstitialAd.show(onUserEarnedReward: (AdWithoutView ad, RewardItem rewardItem) {
  // Reward the user for watching an ad.
});

Una vez que se llame a show(), no se podrá quitar un Ad que se muestre de esta manera. de forma programática y requiere la entrada del usuario. Un RewardedInterstitialAd solo puede se mostrará una vez. Las llamadas posteriores que se muestren se activarán onAdFailedToShowFullScreenContent.

Los anuncios deben desecharse cuando ya no se necesite acceder a ellos. La práctica recomendada de cuándo llamar a dispose() está en FullScreenContentCallback.onAdDismissedFullScreenContent y Devoluciones de llamada de FullScreenContentCallback.onAdFailedToShowFullScreenContent.

Eso es todo. Tu app ya está lista para mostrar anuncios intersticiales recompensados.