Iklan Interstisial Reward (beta)

Interstisial reward adalah jenis format iklan dengan insentif yang memungkinkan Anda menawarkan reward untuk iklan yang muncul secara otomatis selama transisi alami dalam aplikasi. Tidak seperti iklan reward, pengguna tidak yang diperlukan agar dapat melihat interstisial reward. Panduan ini menunjukkan cara mengintegrasikan iklan interstisial reward dari Ad Manager menjadi aplikasi Flutter.

Prasyarat

  • Plugin Flutter 1.1.0 atau yang lebih tinggi.
  • Selesaikan langkah Memulai. Nama Aplikasi Flutter harus sudah memiliki plugin Flutter Google Mobile Ads diimpor.

Selalu uji dengan iklan percobaan

Saat membuat dan menguji aplikasi, pastikan Anda menggunakan iklan percobaan, bukan iklan produksi secara langsung. Jika Anda tidak melakukannya, akun Anda dapat ditangguhkan.

Cara termudah untuk memuat iklan percobaan adalah dengan menggunakan ID unit iklan percobaan khusus untuk iklan interstisial reward:

  • /21775744923/example/rewarded_interstitial

Unit iklan percobaan dikonfigurasi guna menampilkan iklan percobaan 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 memublikasikannya aplikasi Anda.

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 = '/21775744923/example/rewarded_interstitial';

  /// Loads a rewarded ad.
  void loadAd() {
    RewardedInterstitialAd.loadWithAdManagerAdRequest(
        adUnitId: adUnitId,
        adManagerAdRequest: const AdManagerAdRequest(),
        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 siklus proses peristiwa, seperti saat iklan ditampilkan atau ditutup. Tetapkan RewardedInterstitialAd.fullScreenContentCallback sebelum menampilkan iklan kepada menerima notifikasi untuk peristiwa tersebut. 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 = '/21775744923/example/rewarded_interstitial';

  /// Loads a rewarded ad.
  void loadAd() {
    RewardedInterstitialAd.loadWithAdManagerAdRequest(
        adUnitId: adUnitId,
        adManagerAdRequest: const AdManagerAdRequest(),
        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 waktu untuk menampilkan iklan dengan memanggil show(). RewardedInterstitialAd.show() mengambil OnUserEarnedRewardCallback, yang dipanggil saat pengguna memperoleh reward. Pastikan untuk menerapkan strategi ini dan berikan reward kepada pengguna untuk 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 membutuhkan input pengguna. RewardedInterstitialAd hanya dapat ditampilkan sekali. Panggilan berikutnya untuk ditampilkan akan dipicu onAdFailedToShowFullScreenContent.

Iklan harus dibuang jika akses ke iklan tidak lagi diperlukan. Praktik terbaik saat memanggil dispose() ada dalam FullScreenContentCallback.onAdDismissedFullScreenContent dan Callback FullScreenContentCallback.onAdFailedToShowFullScreenContent.

Selesai. Aplikasi Anda sekarang siap untuk menampilkan iklan interstisial reward.