Anuncios intersticiales recompensados

Los 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, no se requiere que los usuarios habiliten ninguna función para ver un intersticial recompensado.

Requisitos previos

Siempre haz pruebas 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, podría suspenderse tu cuenta.

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

ca-app-pub-3940256099942544/5354046379

Está configurado especialmente para devolver anuncios de prueba en cada solicitud, y puedes usarlo en tus propias apps mientras realizas tus actividades de programación, prueba y depuración. Solo asegúrate de reemplazarlo por tu propio ID de unidad de anuncios antes de publicar tu app.

Para obtener más información sobre el funcionamiento de los anuncios de prueba del SDK de anuncios de Google para dispositivos móviles (beta), consulta la sección sobre anuncios de prueba.

Carga un anuncio

Para cargar un anuncio intersticial recompensado, llama al método load() estático de RewardedInterstitialAd y pasa AdLoadCallback<RewardedInterstitialAd> para recibir el anuncio cargado o posibles errores.

Kotlin

import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback
import com.google.android.libraries.ads.mobile.sdk.common.AdRequest
import com.google.android.libraries.ads.mobile.sdk.common.FullScreenContentError
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError
import com.google.android.libraries.ads.mobile.sdk.rewardedinterstitial.RewardedInterstitialAd
import com.google.android.libraries.ads.mobile.sdk.rewardedinterstitial.RewardedInterstitialAdEventCallback
import com.google.android.libraries.ads.mobile.sdk.MobileAds

class RewardedInterstitialActivity : Activity() {
  private var rewardedInterstitialAd: RewardedInterstitialAd? = null

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    // Load ads after you initialize Google Mobile Ads SDK (beta).
    RewardedInterstitialAd.load(
      AdRequest.Builder(AD_UNIT_ID).build(),
      object : AdLoadCallback<RewardedInterstitialAd> {
        override fun onAdLoaded(ad: RewardedInterstitialAd) {
          // Rewarded interstitial ad loaded.
          rewardedInterstitialAd = ad
        }

        override fun onAdFailedToLoad(adError: LoadAdError) {
          // Rewarded interstitial ad failed to load.
          rewardedInterstitialAd = null
        }
      },
    )
  }

  companion object {
    // Sample rewarded interstitial ad unit ID.
    const val AD_UNIT_ID = "ca-app-pub-3940256099942544/5354046379"
  }
}

Java

import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback;
import com.google.android.libraries.ads.mobile.sdk.common.AdRequest;
import com.google.android.libraries.ads.mobile.sdk.common.FullScreenContentError;
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError;
import com.google.android.libraries.ads.mobile.sdk.rewardedinterstitial.RewardedInterstitialAd;
import com.google.android.libraries.ads.mobile.sdk.rewardedinterstitial.RewardedInterstitialAdEventCallback;
import com.google.android.libraries.ads.mobile.sdk.MobileAds;

class RewardedActivity extends Activity {
  // Sample rewarded interstitial ad unit ID.
  private static final String AD_UNIT_ID = "ca-app-pub-3940256099942544/5354046379";
  private RewardedInterstitialAd rewardedInterstitialAd;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Load ads after you initialize Google Mobile Ads SDK (beta).
    RewardedInterstitialAd.load(
        new AdRequest.Builder(AD_UNIT_ID).build(),
        new AdLoadCallback<RewardedInterstitialAd>() {
          @Override
          public void onAdLoaded(@NonNull RewardedInterstitialAd rewardedInterstitialAd) {
            // Rewarded interstitial ad loaded.
            AdLoadCallback.super.onAdLoaded(rewardedInterstitialAd);
            RewardedActivity.this.rewardedInterstitialAd = rewardedInterstitialAd;
          }

          @Override
          public void onAdFailedToLoad(@NonNull LoadAdError adError) {
            // Rewarded interstitial ad failed to load.
            AdLoadCallback.super.onAdFailedToLoad(adError);
            rewardedInterstitialAd = null;
          }
        }
    );
  }
}

Establece el objeto RewardedInterstitialAdEventCallback

El objeto RewardedInterstitialAdEventCallback controla los eventos relacionados con la visualización de tu RewardedInterstitialAd. Antes de mostrar el anuncio intersticial recompensado, asegúrate de configurar la devolución de llamada:

Kotlin

// Listen for ad events.
rewardedInterstitialAd?.adEventCallback =
  object : RewardedInterstitialAdEventCallback {
    override fun onAdShowedFullScreenContent() {
      // Rewarded interstitial ad did show.
    }

    override fun onAdDismissedFullScreenContent() {
      // Rewarded interstitial ad did dismiss.
      rewardedInterstitialAd = null
    }

    override fun onAdFailedToShowFullScreenContent(
      fullScreenContentError: FullScreenContentError
    ) {
      // Rewarded interstitial ad failed to show.
      rewardedInterstitialAd = null
    }

    override fun onAdImpression() {
      // Rewarded interstitial ad did record an impression.
    }

    override fun onAdClicked() {
      // Rewarded interstitial ad did record a click.
    }
  }

Java

// Listen for ad events.
rewardedInterstitialAd.setAdEventCallback(
    new RewardedInterstitialAdEventCallback() {
      @Override
      public void onAdShowedFullScreenContent() {
        // Rewarded interstitial ad did show.
        RewardedInterstitialAdEventCallback.super.onAdShowedFullScreenContent();
      }

      @Override
      public void onAdDismissedFullScreenContent() {
        // Rewarded interstitial ad did dismiss.
        RewardedInterstitialAdEventCallback.super.onAdDismissedFullScreenContent();
        rewardedInterstitialAd = null;
      }

      @Override
      public void onAdFailedToShowFullScreenContent(
          @NonNull FullScreenContentError fullScreenContentError) {
        // Rewarded interstitial ad failed to show.
        RewardedInterstitialAdEventCallback.super.onAdFailedToShowFullScreenContent(
            fullScreenContentError);
        rewardedInterstitialAd = null;
      }

      @Override
      public void onAdImpression() {
        // Rewarded interstitial ad did record an impression.
        RewardedInterstitialAdEventCallback.super.onAdImpression();
      }

      @Override
      public void onAdClicked() {
        // Rewarded interstitial ad did record a click.
        RewardedInterstitialAdEventCallback.super.onAdClicked();
      }
    }
);

Muestra el anuncio

Para mostrar un anuncio intersticial recompensado, usa el método show(). Con un objeto OnUserEarnedRewardListener, puedes procesar los eventos de recompensa.

Kotlin

// Show the ad.
rewardedInterstitialAd?.show(
  this@RewardedActivity,
  object : OnUserEarnedRewardListener {
    override fun onUserEarnedReward(rewardItem: RewardItem) {
      // User earned the reward.
      val rewardAmount = rewardItem.amount
      val rewardType = rewardItem.type
    }
  },
)

Java

// Show the ad.
rewardedInterstitialAd.show(
    RewardedActivity.this,
    new OnUserEarnedRewardListener() {
      @Override
      public void onUserEarnedReward(@NonNull RewardItem rewardItem) {
        // User earned the reward.
        int rewardAmount = rewardItem.getAmount();
        String rewardType = rewardItem.getType();
    }
});

Ejemplo

Descarga y ejecuta la app de ejemplo que demuestra el uso del SDK de anuncios de Google para dispositivos móviles (beta).