Iklan reward adalah iklan yang memberi pengguna opsi untuk berinteraksi dengan imbalan reward dalam aplikasi. Panduan ini menunjukkan cara mengintegrasikan iklan reward dari Ad Manager ke aplikasi Flutter.
Selalu uji dengan iklan percobaan
Saat membuat dan menguji aplikasi, pastikan Anda menggunakan iklan pengujian, bukan iklan produksi aktif. Jika Anda tidak melakukannya, akun Anda dapat ditangguhkan.
Cara termudah untuk memuat iklan pengujian adalah menggunakan ID unit iklan pengujian khusus kami untuk iklan reward:
/6499/example/rewarded
Unit iklan pengujian dikonfigurasi untuk menampilkan iklan pengujian untuk setiap permintaan, dan Anda bebas menggunakannya dalam aplikasi sendiri saat melakukan coding, menguji, dan men-debug. Pastikan Anda menggantinya dengan ID unit iklan sendiri sebelum memublikasikan aplikasi.
Memuat iklan
Contoh berikut memuat iklan reward:
class RewardedExampleState extends State<RewardedExample> { RewardedAd? _rewardedAd; // TODO: replace this test ad unit with your own ad unit. final adUnitId = '/6499/example/rewarded'; /// Loads a rewarded ad. void loadAd() { RewardedAd.loadWithAdManagerAdRequest( adUnitId: adUnitId, adManagerAdRequest: const AdManagerAdRequest(), adLoadCallback: RewardedAdLoadCallback( // Called when an ad is successfully received. onAdLoaded: (ad) { debugPrint('$ad loaded.'); // Keep a reference to the ad so you can show it later. _rewardedAd = ad; }, // Called when an ad request failed. onAdFailedToLoad: (LoadAdError error) { debugPrint('RewardedAd failed to load: $error'); }, )); } }
Peristiwa iklan reward
Melalui penggunaan FullScreenContentCallback
, Anda dapat memproses peristiwa
siklus proses, seperti saat iklan ditampilkan atau ditutup. Tetapkan
RewardedAd.fullScreenContentCallback
sebelum menampilkan iklan agar menerima
notifikasi untuk peristiwa ini. Contoh ini mengimplementasikan setiap metode dan mencatat pesan ke konsol:
class RewardedExampleState extends State<RewardedExample> { RewardedAd? _rewardedAd; // TODO: replace this test ad unit with your own ad unit. final adUnitId = '/6499/example/rewarded'; /// Loads a rewarded ad. void loadAd() { RewardedAd.loadWithAdManagerAdRequest( adUnitId: adUnitId, adManagerAdRequest: const AdManagerAdRequest(), adLoadCallback: RewardedAdLoadCallback( // 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. _rewardedAd = ad; }, // Called when an ad request failed. onAdFailedToLoad: (LoadAdError error) { debugPrint('RewardedAd failed to load: $error'); }, )); } }
Iklan Display
RewardedAd
ditampilkan sebagai Overlay di atas semua konten aplikasi dan
ditempatkan secara statis. Oleh karena itu, tidak dapat ditambahkan ke hierarki widget Flutter. Anda dapat
memilih waktu untuk menampilkan iklan dengan memanggil show()
.
RewardedAd.show()
mengambil OnUserEarnedRewardCallback
, yang dipanggil saat
pengguna mendapatkan reward. Pastikan untuk menerapkannya dan berikan reward kepada pengguna karena
menonton iklan.
_rewardedAd.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. RewardedAd
hanya dapat ditampilkan
satu kali. Panggilan berikutnya untuk ditampilkan akan memicu onAdFailedToShowFullScreenContent
.
Iklan harus dibuang jika akses ke iklan tidak lagi diperlukan. Praktik terbaik
kapan harus memanggil dispose()
adalah di callback
FullScreenContentCallback.onAdDismissedFullScreenContent
dan
FullScreenContentCallback.onAdFailedToShowFullScreenContent
.
Selesai. Aplikasi Anda kini siap menampilkan iklan reward.