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:
- Memuat iklan.
- Mendaftar untuk callback peristiwa layar penuh.
- Tangani callback reward.
- 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)