Interstisial reward

Iklan interstisial reward adalah jenis format iklan dengan insentif yang memungkinkan Anda menawarkan reward untuk iklan yang muncul otomatis selama transisi aplikasi secara alami. Berbeda dengan iklan reward, pengguna tidak diwajibkan untuk memilih melihat interstisial reward.

Prasyarat

  • Google Mobile Ads SDK 19.2.0 atau yang lebih tinggi.
  • Ikuti panduan Memulai untuk mengimpor Google Mobile Ads SDK dan memperbarui AndroidManifest.xml.
  • Hubungi Account Manager Anda untuk mendapatkan akses ke iklan interstisial reward.

Implementasi

Langkah utama untuk mengintegrasikan iklan interstisial reward adalah:

  1. Memuat iklan.
  2. Mendaftar untuk callback peristiwa layar penuh.
  3. Tangani callback reward.
  4. Tampilkan iklan.

Memuat iklan

Iklan dimuat dengan menggunakan metode load() statis pada class RewardedInterstitialAd. Metode pemuatan memerlukan Konteks, ID unit iklan, objek an AdRequest , dan RewardedInterstitialAdLoadCallback agar diberi tahu saat pemuatan iklan berhasil atau gagal. Objek RewardedInterstitialAd yang dimuat disediakan sebagai parameter di callback onRewardedInterstitialAdLoaded(). Contoh berikut menunjukkan cara memuat RewardedInterstitialAd di MainActivity.

Java

public class MainActivity extends AppCompatActivity {
  private RewardedInterstitialAd rewardedInterstitialAd;
  private String TAG = "MainActivity";

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    MobileAds.initialize(this, new OnInitializationCompleteListener() {
      @Override
      public void onInitializationComplete(InitializationStatus initializationStatus) {
        loadAd();
      }
    });
  }

  public void loadAd() {
    // Use the test ad unit ID to load an ad.
    RewardedInterstitialAd.load(MainActivity.this, "ca-app-pub-3940256099942544/5354046379",
        new AdRequest.Builder().build(),  new RewardedInterstitialAdLoadCallback() {
      @Override
      public void onAdLoaded(RewardedInterstitialAd ad) {
        rewardedInterstitialAd = ad;
        Log.e(TAG, "Ad was loaded.");
      }
      @Override
      public void onAdFailedToLoad(LoadAdError loadAdError) {
        Log.e(TAG, loadAdError.message);
      }
    });
  }
}

Kotlin

import com.google.android.gms.ads.rewardedinterstitial.RewardedInterstitialAd
import com.google.android.gms.ads.rewardedinterstitial.RewardedInterstitialAdLoadCallback

class MainActivity : AppCompactActivity() {

  private var rewardedInterstitialAd? = null
  private final var TAG = "MainActivity"

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    MobileAds.initialize(this) { initializationStatus ->
      loadAd()
    }
  }

  private fun loadAd() {
    RewardedInterstitialAd.load(this, "ca-app-pub-3940256099942544/5354046379",
      AdRequest.Builder().build(), object : RewardedInterstitialAdLoadCallback() {
      override fun onAdLoaded(ad: RewardedInterstitialAd) {
        rewardedInterstitialAd = ad
        Log.d(TAG, "Ad was loaded.")
      }

      override fun onAdFailedToLoad(adError: LoadAdError) {
        Log.d(TAG, adError?.message)
      }
    })
  }
}

Mendaftar untuk callback

Agar dapat menerima notifikasi untuk peristiwa presentasi, Anda harus meneruskan objek FullScreenContentCallback ke penyetel pada iklan Anda. Objek FullScreenContentCallback menangani callback saat iklan berhasil ditampilkan dan gagal, serta saat ditutup. Kode di bawah ini menunjukkan cara menyetel objek FullScreenContentCallback anonim dalam RewardedInterstitialAdLoadCallback Anda:

Java

public void loadAd(){
  RewardedInterstitialAd.load(MainActivity.this, "ca-app-pub-3940256099942544/5354046379",
      new AdRequest.Builder().build(), new RewardedInterstitialAdLoadCallback() {
    @Override
    public void onAdLoaded(RewardedInterstitialAd ad) {
      rewardedInterstitialAd = ad;
      rewardedInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {
        /** Called when the ad failed to show full screen content. */
        @Override
        public void onAdFailedToShowFullScreenContent(AdError adError) {
          Log.i(TAG, "Ad failed to show.");
        }

        /** Called when ad showed the full screen content. */
        @Override
        public void onAdShowedFullScreenContent() {
          Log.i(TAG, "Ad showed fullscreen content.");
        }

        /** Called when full screen content is dismissed. */
        @Override
        public void onAdDismissedFullScreenContent() {
          Log.i(TAG, "Ad dismissed fullscreen content.");
        }
      });
    }
    @Override
    public void onAdFailedToLoad(LoadAdError loadAdError) {
      Log.e(TAG, loadAdError.message);
    }
  });
}

Kotlin

private fun loadAd() {
  RewardedInterstitialAd.load(this, "ca-app-pub-3940256099942544/5354046379",
    AdRequest.Builder().build(), object : RewardedInterstitialAdLoadCallback() {
    override fun onAdLoaded(ad: RewardedInterstitialAd) {
      rewardedInterstitialAd = ad
      rewardedInterstitialAd?.fullScreenContentCallback = object: FullScreenContentCallback() {
        override fun onAdFailedToShowFullScreenContent(adError: AdError) {
          Log.d(TAG, "Ad showed failed to show.")
        }

        override fun onAdShowedFullScreenContent() {
          Log.d(TAG, "Ad showed fullscreen content.")
        }

        override fun onAdDismissedFullScreenContent() {
          Log.d(TAG, "Ad dismissed fullscreen content.")
        }
      }
    }

    override fun onAdFailedToLoad(adError: LoadAdError) {
      Log.d(TAG, adError?.message)
    }
  })
}

Menangani reward

Untuk menampilkan iklan interstisial reward, terapkan antarmuka OnUserEarnedRewardListener di MainActivity Anda, agar diberi tahu saat pengguna mendapatkan reward.

Java

public class MainActivity extends AppCompatActivity implements OnUserEarnedRewardListener {
  ...
  @Override
  public void onUserEarnedReward(@NonNull RewardItem rewardItem) {
    Log.i(TAG, "User earned reward.");
    // TODO: Reward the user!
  }
}

Kotlin

class MainActivity : AppCompatActivity(), OnUserEarnedRewardListener {
  ...
  override fun onUserEarnedReward(rewardItem: RewardItem) {
    Log.d(TAG, "User earned reward.")
    // TODO: Reward the user!
  }
}

Menampilkan iklan

Setelah menerapkan antarmuka OnUserEarnedRewardListener, Anda dapat menyajikan iklan menggunakan metode show() iklan seperti berikut:

Java

rewardedInterstitialAd.show(/* Activity */ MainActivity.this,/*
    OnUserEarnedRewardListener */ MainActivity.this);

Kotlin

rewardedInterstitialAd?.show(/* Activity */ this, /*
    OnUserEarnedRewardListener */ this)

Contoh di GitHub