Interstisial reward adalah jenis format iklan berinsentif yang memungkinkan Anda menawarkan reward untuk iklan yang muncul secara otomatis selama transisi aplikasi secara alami. Berbeda dengan iklan reward, pengguna tidak diwajibkan untuk memilih melihat interstisial reward. Panduan ini menunjukkan cara mengintegrasikan iklan interstisial reward dari AdMob ke dalam aplikasi Flutter.
Prasyarat
- Plugin Flutter 1.1.0 atau yang lebih tinggi.
- Selesaikan Mulai. Aplikasi Flutter Anda seharusnya sudah mengimpor plugin Flutter Google Mobile Ads.
Selalu uji dengan iklan percobaan
Saat mem-build dan menguji aplikasi, pastikan Anda menggunakan iklan percobaan, bukan iklan produksi langsung. Jika Anda tidak melakukannya, akun Anda dapat ditangguhkan.
Cara termudah untuk memuat iklan pengujian adalah dengan menggunakan ID unit iklan pengujian khusus kami untuk iklan interstisial reward:
Android
ca-app-pub-3940256099942544/5354046379
iOS
ca-app-pub-3940256099942544/6978759866
Unit iklan pengujian dikonfigurasi untuk menampilkan iklan pengujian untuk setiap permintaan, dan Anda bebas menggunakannya di aplikasi Anda sendiri saat melakukan coding, pengujian, dan proses debug. Pastikan Anda menggantinya dengan ID unit iklan Anda sendiri sebelum memublikasikan aplikasi.
Memuat iklan
Contoh berikut memuat iklan interstisial reward:
class RewardedInterstitialExampleState extends State<RewardedInterstitialExample> { RewardedInterstitialAd? _rewardeInterstitialdAd; // TODO: replace this test ad unit with your own ad unit. final adUnitId = Platform.isAndroid ? 'ca-app-pub-3940256099942544/5354046379' : 'ca-app-pub-3940256099942544/6978759866'; /// Loads a rewarded ad. void loadAd() { RewardedInterstitialAd.load( adUnitId: adUnitId, adRequest: const AdRequest(), 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'); }, )); } }
Peristiwa iklan interstisial reward
Melalui penggunaan FullScreenContentCallback
, Anda dapat memproses peristiwa siklus proses, seperti saat iklan ditampilkan atau ditutup. Tetapkan
RewardedInterstitialAd.fullScreenContentCallback
sebelum menampilkan iklan untuk
menerima notifikasi peristiwa ini. Contoh ini mengimplementasikan setiap metode dan
mencatat pesan ke konsol:
class RewardedInterstitialExampleState extends State<RewardedInterstitialExample> { RewardedInterstitialAd? _rewardedInterstitialAd; // TODO: replace this test ad unit with your own ad unit. final adUnitId = Platform.isAndroid ? 'ca-app-pub-3940256099942544/5354046379' : 'ca-app-pub-3940256099942544/6978759866'; /// Loads a rewarded ad. void loadAd() { RewardedInterstitialAd.load( adUnitId: adUnitId, adRequest: const AdRequest(), 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'); }, )); } }
Iklan Display
RewardedInterstitialAd
ditampilkan sebagai Overlay di atas semua konten aplikasi
dan ditempatkan secara statis; sehingga, tidak dapat ditambahkan ke hierarki widget Flutter.
Anda dapat memilih kapan akan menampilkan iklan dengan memanggil show()
.
RewardedInterstitialAd.show()
menggunakan OnUserEarnedRewardCallback
, yang
dipanggil saat pengguna memperoleh reward. Pastikan untuk menerapkannya dan memberi reward kepada pengguna
karena telah menonton iklan.
_rewardedInterstitialAd.show(onUserEarnedReward: (AdWithoutView ad, RewardItem rewardItem) { // Reward the user for watching an ad. });
Setelah show()
dipanggil, Ad
yang ditampilkan dengan cara ini tidak dapat dihapus
secara terprogram dan memerlukan input pengguna. RewardedInterstitialAd
hanya dapat
ditampilkan satu kali. Panggilan berikutnya yang akan ditampilkan akan memicu
onAdFailedToShowFullScreenContent
.
Iklan harus dihapus jika akses ke iklan tersebut tidak lagi diperlukan. Praktik terbaik
untuk waktu memanggil dispose()
adalah dalam
callback FullScreenContentCallback.onAdDismissedFullScreenContent
dan
FullScreenContentCallback.onAdFailedToShowFullScreenContent
.
Selesai. Aplikasi Anda kini siap menampilkan iklan interstisial reward.