Interstisial reward

Pilih platform: Android iOS Unity Flutter

Interstisial reward adalah jenis format iklan berinsentif yang memungkinkan Anda menawarkan reward untuk iklan yang muncul secara otomatis selama transisi aplikasi 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 melakukan pengujian dengan iklan percobaan

Saat membangun 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 percobaan adalah dengan menggunakan ID unit iklan percobaan 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 membuat kode, menguji, dan men-debug. Pastikan Anda menggantinya dengan ID unit iklan Anda sendiri sebelum memublikasikan aplikasi Anda.

Memuat iklan

Contoh berikut memuat iklan interstisial reward:

RewardedInterstitialAd.load(
  adUnitId: "_adUnitId",
  request: const AdRequest(),
  rewardedInterstitialAdLoadCallback: RewardedInterstitialAdLoadCallback(
    onAdLoaded: (RewardedInterstitialAd ad) {
      // Called when an ad is successfully received.
      debugPrint('Ad was loaded.');
      // Keep a reference to the ad so you can show it later.
      _rewardedInterstitialAd = ad;
    },
    onAdFailedToLoad: (LoadAdError error) {
      // Called when an ad request failed.
      debugPrint('Ad failed to load with error: $error');
    },
  ),
);

Ganti _adUnitId dengan ID unit iklan Anda sendiri.

Peristiwa iklan interstisial reward

Dengan menggunakan FullScreenContentCallback, Anda dapat memproses peristiwa siklus proses, seperti saat iklan ditampilkan atau ditutup. Tetapkan RewardedInterstitialAd.fullScreenContentCallback sebelum menampilkan iklan untuk menerima notifikasi untuk peristiwa ini. Contoh ini mengimplementasikan setiap metode dan mencatat pesan ke konsol:

ad.fullScreenContentCallback = FullScreenContentCallback(
  onAdShowedFullScreenContent: (ad) {
    // Called when the ad showed the full screen content.
    debugPrint('Ad showed full screen content.');
  },
  onAdFailedToShowFullScreenContent: (ad, err) {
    // Called when the ad failed to show full screen content.
    debugPrint('Ad failed to show full screen content with error: $err');
    // Dispose the ad here to free resources.
    ad.dispose();
  },
  onAdDismissedFullScreenContent: (ad) {
    // Called when the ad dismissed full screen content.
    debugPrint('Ad was dismissed.');
    // Dispose the ad here to free resources.
    ad.dispose();
  },
  onAdImpression: (ad) {
    // Called when an impression occurs on the ad.
    debugPrint('Ad recorded an impression.');
  },
  onAdClicked: (ad) {
    // Called when a click is recorded for an ad.
    debugPrint('Ad was clicked.');
  },
);

Iklan Display

RewardedInterstitialAd ditampilkan sebagai Overlay di atas semua konten aplikasi dan ditempatkan secara statis; oleh karena itu, RewardedInterstitialAd tidak dapat ditambahkan ke hierarki widget Flutter. Anda dapat memilih kapan iklan akan ditampilkan dengan memanggil show(). RewardedInterstitialAd.show() mengambil OnUserEarnedRewardCallback, yang dipanggil saat pengguna memperoleh reward. Pastikan untuk menerapkan ini dan memberikan reward kepada pengguna karena menonton iklan.

_rewardedInterstitialAd?.show(
  onUserEarnedReward: (AdWithoutView view, RewardItem rewardItem) {
    debugPrint('Reward amount: ${rewardItem.amount}');
  },
);

Setelah show() dipanggil, Ad yang ditampilkan dengan cara ini tidak dapat dihapus secara terprogram dan memerlukan input pengguna. RewardedInterstitialAd hanya dapat ditampilkan sekali. Panggilan berikutnya untuk menampilkan akan memicu onAdFailedToShowFullScreenContent.

Iklan harus dihapus saat akses ke iklan tidak lagi diperlukan. Praktik terbaik untuk waktu memanggil dispose() adalah di callback FullScreenContentCallback.onAdDismissedFullScreenContent dan FullScreenContentCallback.onAdFailedToShowFullScreenContent.

[Opsional] Memvalidasi callback verifikasi sisi server (SSV)

Aplikasi yang memerlukan data tambahan dalam callback verifikasi sisi server harus menggunakan fitur data kustom iklan reward. Nilai string apa pun yang ditetapkan pada objek iklan reward diteruskan ke parameter kueri custom_data dari callback SSV. Jika tidak ada nilai data kustom yang ditetapkan, nilai parameter kueri custom_data tidak akan ada di callback SSV.

Contoh kode berikut menunjukkan cara menyetel opsi SSV setelah iklan interstisial reward dimuat:

RewardedInterstitialAd.load(
  adUnitId: "_adUnitId",
  request: AdRequest(),
  rewardedInterstitialAdLoadCallback: RewardedInterstitialAdLoadCallback(
    onAdLoaded: (ad) {
      ServerSideVerificationOptions _options =
          ServerSideVerificationOptions(
              customData: 'SAMPLE_CUSTOM_DATA_STRING');
      ad.setServerSideOptions(_options);
      _rewardedInterstitialAd = ad;
    },
    onAdFailedToLoad: (error) {},
  ),
);

Ganti SAMPLE_CUSTOM_DATA_STRING dengan data kustom Anda.

Contoh lengkap di GitHub

Interstisial Reward