Pramuat iklan (beta)

Pemuatan awal iklan adalah fitur pemuatan iklan yang dikelola Google di Google Mobile Ads SDK (Legacy) yang mengelola pemuatan dan penyimpanan iklan dalam cache atas nama Anda. Pramuat iklan memerlukan perubahan dalam cara Anda mengelola pemuatan iklan. Untuk mengoptimalkan performa menggunakan pra-pemuatan iklan, nonaktifkan penyimpanan dalam cache kustom dan serahkan tanggung jawab tersebut ke Google Mobile Ads SDK (Legacy).

Pramuat iklan menawarkan manfaat berikut dibandingkan pemuatan iklan manual:

  • Pengelolaan referensi: menyimpan iklan yang dimuat sehingga Anda tidak perlu mempertahankan referensi hingga Anda siap menayangkannya.
  • Pemuatan ulang otomatis: otomatis memuat iklan baru saat Anda menarik iklan dari cache.
  • Coba lagi yang dikelola: otomatis mencoba lagi permintaan yang gagal menggunakan backoff eksponensial.
  • Penanganan masa berlaku: otomatis memuat ulang iklan sebelum masa berlakunya berakhir (biasanya setelah satu jam).
  • Pengoptimalan cache: Jika Anda menggunakan ukuran cache yang lebih besar dari satu, Google Mobile Ads SDK (Legacy) mengoptimalkan urutan cache untuk menayangkan iklan terbaik.

Panduan ini membahas cara mengonfigurasi iklan pramuat, memeriksa ketersediaan iklan pramuat, dan menampilkan iklan pramuat.

Prasyarat

Sebelum melanjutkan tutorial ini, Anda harus menyiapkan Google Mobile Ads SDK (Legacy).

Mulai mem-pramuat iklan

Saat aplikasi dimulai, panggil metode start satu kali. Setelah Anda memanggil metode start, Google Mobile Ads SDK (Legacy) akan otomatis melakukan pramuat iklan dan mencoba lagi permintaan yang gagal untuk konfigurasi pramuat.

Contoh berikut memulai pra-pemuatan iklan:

Kotlin

// Define a PreloadConfiguration.
val configuration = PreloadConfiguration.Builder("AD_UNIT_ID").build()
// Start the preloading with a given preload ID, preload configuration.
InterstitialAdPreloader.start("AD_UNIT_ID", configuration)

Java

// Define a PreloadConfiguration.
PreloadConfiguration configuration = new PreloadConfiguration.Builder("AD_UNIT_ID").build();
// Start the preloading with a given preload ID, preload configuration.
InterstitialAdPreloader.start("AD_UNIT_ID", configuration);

Ganti AD_UNIT_ID dengan ID unit iklan Anda.

Mendapatkan dan menampilkan iklan yang sudah dipramuat

Saat menggunakan pramuat iklan, Google Mobile Ads SDK (Legacy) menyimpan iklan yang di-cache. Saat Anda ingin menampilkan iklan, panggil metode pollAd. Google Mobile Ads SDK (Legacy) mengambil iklan yang tersedia dan otomatis memuat iklan berikutnya di latar belakang.

Hindari memanggil metode pollAd hingga Anda siap menampilkan iklan. Menyimpan iklan dalam cache memungkinkan Google Mobile Ads SDK (Legacy) memperbarui iklan yang telah habis masa berlakunya secara otomatis dan melakukan pengoptimalan cache.

Contoh berikut mengambil dan menampilkan iklan yang sudah dimuat sebelumnya:

Kotlin

// pollAd() returns the next available ad and loads another ad in the background.
val ad = InterstitialAdPreloader.pollAd("AD_UNIT_ID")

// [Optional] Interact with the ad as needed.
ad?.onPaidEventListener = OnPaidEventListener {
  // [Optional] Send the impression-level ad revenue information to your preferred
  // analytics server directly within this callback.
}

// Show the ad immediately.
ad?.show(activity)

Java

// pollAd() returns the next available ad and loads another ad in the background.
InterstitialAd ad = InterstitialAdPreloader.pollAd("AD_UNIT_ID");

if (ad != null) {
  // [Optional] Interact with the ad object as needed.
  ad.setOnPaidEventListener(
      adValue -> {
        // [Optional] Send the impression-level ad revenue information to your preferred
        // analytics server directly within this callback.
      });

  // Show the ad immediately.
  ad.show(activity);
}

Memeriksa ketersediaan iklan pemuatan awal

Untuk memeriksa ketersediaan iklan, pilih salah satu opsi berikut:

Mendapatkan ketersediaan iklan yang sudah dipramuat

Contoh berikut memeriksa ketersediaan iklan:

Kotlin

// Verify that a preloaded ad is available.
if (!InterstitialAdPreloader.isAdAvailable("AD_UNIT_ID")) {
  // No ads are available to show.
}

Java

// Verify that a preloaded ad is available.
if (!InterstitialAdPreloader.isAdAvailable("AD_UNIT_ID")) {
  // No ads are available to show.
}

Mendengarkan ketersediaan iklan yang sudah dimuat sebelumnya

Daftarkan peristiwa pra-muat untuk mendapatkan notifikasi saat iklan berhasil dimuat sebelumnya, gagal dimuat sebelumnya, atau cache iklan habis.

Peristiwa pra-muat ditujukan untuk tujuan analisis. Dalam callback peristiwa pramuat:

  • Jangan memanggil start.
  • Jangan memanggil pollAd kecuali jika iklan akan ditampilkan segera.

Contoh berikut mendaftar untuk peristiwa iklan:

Kotlin

// Define a callback to receive preload events.
val callback =
  object : PreloadCallbackV2() {
    override fun onAdPreloaded(preloadId: String, responseInfo: ResponseInfo?) {
      // Called when preloaded ads are available.
    }

    override fun onAdsExhausted(preloadId: String) {
      // Called when no preloaded ads are available.
    }

    override fun onAdFailedToPreload(preloadId: String, adError: AdError) {
      // Called when preloaded ads failed to load.
    }
  }

Java

// Define a callback to receive preload events.
PreloadCallbackV2 callback =
    new PreloadCallbackV2() {
      @Override
      public void onAdPreloaded(
          @NonNull String preloadId, @Nullable ResponseInfo responseInfo) {
        // Called when preloaded ads are available.
      }

      @Override
      public void onAdsExhausted(@NonNull String preloadId) {
        // Called when no preloaded ads are available.
      }

      @Override
      public void onAdFailedToPreload(@NonNull String preloadId, @NonNull AdError adError) {
        // Called when preloaded ads failed to load.
      }
    };

Menghentikan pemuatan iklan di awal

Jika Anda tidak perlu menampilkan iklan untuk ID pramuat lagi dalam sesi, Anda dapat menghentikan pramuat iklan. Untuk berhenti memuat iklan lebih awal untuk ID pramuat tertentu, panggil destroy dengan ID pramuat. Untuk menghentikan pramuat untuk semua pemuat awal, panggil destroyAll.

Kotlin

// Stops the preloading and destroy preloaded ads.
InterstitialAdPreloader.destroy("AD_UNIT_ID")
// Stops the preloading and destroy all ads.
InterstitialAdPreloader.destroyAll()

Java

// Stops the preloading and destroy preloaded ads.
InterstitialAdPreloader.destroy("AD_UNIT_ID");
// Stops the preloading and destroy all ads.
InterstitialAdPreloader.destroyAll();

Menetapkan ukuran buffer

Ukuran buffer mengontrol jumlah iklan yang dipramuat dan disimpan dalam memori. Secara default, Google mengoptimalkan ukuran buffer untuk menyeimbangkan pemakaian memori dan latensi penayangan iklan. Jika aplikasi Anda menampilkan iklan sebelum iklan berikutnya dimuat, Anda dapat menetapkan ukuran buffer kustom untuk meningkatkan jumlah iklan yang disimpan dalam memori.

Kotlin

// Define a PreloadConfiguration and buffer up to 3 preloaded ads.
val configuration = PreloadConfiguration.Builder("AD_UNIT_ID").setBufferSize(3).build()

Java

// Define a PreloadConfiguration and buffer up to 3 preloaded ads.
PreloadConfiguration configuration =
    new PreloadConfiguration.Builder("AD_UNIT_ID").setBufferSize(3).build();

Batas cache pra-muat

Google Mobile Ads SDK (Legacy) menerapkan batas di seluruh aplikasi pada jumlah total iklan pramuat di semua unit iklan dan ID pramuat:

  • Batas default: Google Mobile Ads SDK (Legacy) menyimpan maksimum 6 iklan yang sudah dimuat sebelumnya dalam memori. Batas ini dibagi di semua format dan ID pramuat.
  • Sebaiknya pertahankan ukuran buffer 2 atau 3 per ID pramuat.