L'interstitiel avec récompense est un type de format d'annonce incitatif qui vous permet de proposer des récompenses pour les annonces diffusées automatiquement lors des transitions naturelles dans les applications. Contrairement aux annonces avec récompense, les utilisateurs ne sont pas obligés de choisir de regarder un interstitiel avec récompense.
Prérequis
- Suivez le guide de démarrage.
Toujours effectuer des tests avec des annonces tests
Lorsque vous créez et testez vos applications, assurez-vous d'utiliser des annonces tests plutôt que des annonces de production. À défaut, votre compte risque d'être suspendu.
Le moyen le plus simple de tester la charge des annonces consiste à utiliser notre ID de bloc d'annonces test dédié pour les annonces interstitielles avec récompense Android :
ca-app-pub-3940256099942544/5354046379
Il a été spécialement configuré pour renvoyer des annonces tests pour chaque demande. Vous pouvez l'utiliser librement dans vos propres applications lors du codage, des tests et du débogage. Veillez simplement à le remplacer par votre propre ID de bloc d'annonces avant de publier votre application.
Pour en savoir plus sur le fonctionnement des annonces tests du SDK Google Mobile Ads (bêta), consultez Annonces tests.
Charger une annonce
Pour charger une annonce interstitielle avec récompense, appelez la méthode statique RewardedInterstitialAd
load()
et transmettez un AdLoadCallback<RewardedInterstitialAd>
pour recevoir l'annonce chargée ou toute erreur éventuelle.
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;
}
}
);
}
}
Définir RewardedInterstitialAdEventCallback
RewardedInterstitialAdEventCallback
gère les événements liés à l'affichage de votre RewardedInterstitialAd
. Avant d'afficher l'annonce interstitielle avec récompense, assurez-vous de définir le rappel :
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();
}
}
);
Diffuser l'annonce
Pour afficher une annonce interstitielle avec récompense, utilisez la méthode show()
. Utilisez un objet OnUserEarnedRewardListener
pour gérer les événements de récompense.
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();
}
});
Exemple
Téléchargez et exécutez l'application exemple qui montre comment utiliser le SDK Google Mobile Ads (bêta).