Iklan banner

Iklan banner adalah iklan persegi panjang yang menempati sebagian tata letak aplikasi. Iklan tetap berada di layar saat pengguna berinteraksi dengan aplikasi, baik yang ditempatkan di bagian atas atau bawah layar atau sejajar dengan konten saat pengguna men-scroll. Iklan banner dapat dimuat ulang secara otomatis setelah jangka waktu tertentu. Lihat Ringkasan iklan banner untuk mengetahui informasi selengkapnya.

Panduan ini menunjukkan cara memulai iklan banner adaptif yang diatarkan, yang memaksimalkan performa dengan mengoptimalkan ukuran iklan untuk setiap perangkat menggunakan lebar iklan yang Anda tentukan.

Iklan banner adaptif anchor adalah iklan rasio lebar tinggi tetap, bukan iklan ukuran tetap reguler. Rasio aspeknya mirip dengan standar industri 320x50. Setelah Anda menentukan lebar penuh yang tersedia, iklan dengan tinggi optimal untuk lebar tersebut akan ditampilkan. Tinggi optimal tidak berubah di seluruh permintaan dari perangkat yang sama, dan tampilan di sekitarnya tidak perlu dipindahkan saat iklan dimuat ulang.

Prasyarat

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 banner Android:

ca-app-pub-3940256099942544/9214589741

Iklan ini telah dikonfigurasi secara khusus untuk menampilkan iklan pengujian untuk setiap permintaan, dan Anda dapat menggunakannya di aplikasi Anda sendiri saat melakukan coding, pengujian, dan proses debug. Pastikan Anda menggantinya dengan ID unit iklan Anda sendiri sebelum memublikasikan aplikasi.

Untuk informasi selengkapnya tentang cara kerja iklan percobaan Mobile Ads SDK, lihat Iklan Percobaan.

Menambahkan AdView ke tata letak

Anda membuat banner dengan menentukan ukuran iklan. Selesaikan langkah berikut:

  1. Buat ukuran iklan adaptif yang disematkan dengan lebar penuh:

    Java

    // Get the ad size with screen width.
    public AdSize getAdSize() {
      DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
      int adWidthPixels = displayMetrics.widthPixels;
    
      if (VERSION.SDK_INT >= VERSION_CODES.R) {
        WindowMetrics windowMetrics = this.getWindowManager().getCurrentWindowMetrics();
        adWidthPixels = windowMetrics.getBounds().width();
      }
    
      float density = displayMetrics.density;
      int adWidth = (int) (adWidthPixels / density);
      return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth);
    }
    

    Kotlin

    // Get the ad size with screen width.
    private val adSize: AdSize
      get() {
        val displayMetrics = resources.displayMetrics
        val adWidthPixels =
          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
            val windowMetrics: WindowMetrics = this.windowManager.currentWindowMetrics
            windowMetrics.bounds.width()
          } else {
            displayMetrics.widthPixels
          }
        val density = displayMetrics.density
        val adWidth = (adWidthPixels / density).toInt()
        return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth)
      }
    
    
  2. Buat AdView menggunakan ukuran iklan dan tambahkan ke tata letak aplikasi Anda:

    Java

    // Create a new ad view.
    adView = new AdView(this);
    adView.setAdUnitId(AD_UNIT_ID);
    adView.setAdSize(getAdSize());
    
    // Replace ad container with new ad view.
    adContainerView.removeAllViews();
    adContainerView.addView(adView);
    

    Kotlin

    // Create a new ad view.
    val adView = AdView(this)
    adView.adUnitId = AD_UNIT_ID
    adView.setAdSize(adSize)
    this.adView = adView
    
    // Replace ad container with new ad view.
    binding.adViewContainer.removeAllViews()
    binding.adViewContainer.addView(adView)
    

Memuat iklan

Setelah AdView diterapkan, langkah berikutnya adalah memuat iklan. Hal ini dilakukan dengan metode loadAd() di class AdView. Metode ini memerlukan parameter AdRequest, yang menyimpan informasi runtime, seperti info penargetan, tentang satu permintaan iklan.

Berikut adalah contoh yang menunjukkan cara memuat iklan:

Java

// Start loading the ad in the background.
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);

Kotlin

// Start loading the ad in the background.
val adRequest = AdRequest.Builder().build()
adView.loadAd(adRequest)

Jika berhasil, aplikasi Anda siap menampilkan iklan banner.

Memperbarui iklan

Jika mengonfigurasi unit iklan untuk dimuat ulang, Anda tidak perlu meminta iklan lain saat iklan gagal dimuat. Google Mobile Ads SDK mengikuti kecepatan refresh apa pun yang Anda tentukan di UI AdMob. Jika Anda belum mengaktifkan refresh, buat permintaan baru. Untuk mengetahui detail selengkapnya tentang pembaruan unit iklan, seperti menetapkan kecepatan refresh, lihat Menggunakan pembaruan otomatis untuk iklan Banner.

Peristiwa iklan

Anda dapat memproses sejumlah peristiwa dalam siklus proses iklan, termasuk pemuatan, tayangan dan klik iklan, serta peristiwa buka dan tutup iklan. Sebaiknya tetapkan callback sebelum memuat banner.

Java

adView.setAdListener(new AdListener() {
    @Override
    public void onAdClicked() {
      // Code to be executed when the user clicks on an ad.
    }

    @Override
    public void onAdClosed() {
      // Code to be executed when the user is about to return
      // to the app after tapping on an ad.
    }

    @Override
    public void onAdFailedToLoad(LoadAdError adError) {
      // Code to be executed when an ad request fails.
    }

    @Override
    public void onAdImpression() {
      // Code to be executed when an impression is recorded
      // for an ad.
    }

    @Override
    public void onAdLoaded() {
      // Code to be executed when an ad finishes loading.
    }

    @Override
    public void onAdOpened() {
      // Code to be executed when an ad opens an overlay that
      // covers the screen.
    }
});

Kotlin

adView.adListener = object: AdListener() {
    override fun onAdClicked() {
      // Code to be executed when the user clicks on an ad.
    }

    override fun onAdClosed() {
      // Code to be executed when the user is about to return
      // to the app after tapping on an ad.
    }

    override fun onAdFailedToLoad(adError : LoadAdError) {
      // Code to be executed when an ad request fails.
    }

    override fun onAdImpression() {
      // Code to be executed when an impression is recorded
      // for an ad.
    }

    override fun onAdLoaded() {
      // Code to be executed when an ad finishes loading.
    }

    override fun onAdOpened() {
      // Code to be executed when an ad opens an overlay that
      // covers the screen.
    }
}

Setiap metode yang dapat diganti di AdListener sesuai dengan peristiwa dalam siklus proses iklan.

Metode yang dapat diganti
onAdClicked() Metode onAdClicked() dipanggil saat klik dicatat untuk iklan.
onAdClosed() Metode onAdClosed() dipanggil saat pengguna kembali ke aplikasi setelah melihat URL tujuan iklan. Aplikasi Anda dapat menggunakannya untuk melanjutkan aktivitas yang ditangguhkan atau melakukan pekerjaan lain yang diperlukan agar siap untuk interaksi. Lihat contoh AdListener AdMob untuk implementasi metode pemroses iklan di aplikasi Android API Demo.
onAdFailedToLoad() Metode onAdFailedToLoad() adalah satu-satunya metode yang menyertakan parameter. Parameter error dari jenis LoadAdError menjelaskan error yang terjadi. Untuk informasi selengkapnya, lihat dokumentasi Proses Debug Error Pemuatan Iklan.
onAdImpression() Metode onAdImpression() dipanggil saat tayangan dicatat untuk iklan.
onAdLoaded() Metode onAdLoaded() dieksekusi saat iklan selesai dimuat. Jika Anda ingin menunda penambahan AdView ke aktivitas atau fragmen hingga Anda yakin iklan akan dimuat, misalnya, Anda dapat melakukannya di sini.
onAdOpened() Metode onAdOpened() dipanggil saat iklan membuka overlay yang menutupi layar.

Akselerasi hardware untuk iklan video

Agar iklan video berhasil ditampilkan di tampilan iklan banner, akselerasi hardware harus diaktifkan.

Akselerasi hardware diaktifkan secara default, tetapi beberapa aplikasi dapat memilih untuk menonaktifkannya. Jika hal ini berlaku untuk aplikasi Anda, sebaiknya aktifkan akselerasi hardware untuk class Activity yang menggunakan iklan.

Mengaktifkan akselerasi hardware

Jika aplikasi Anda tidak berperilaku sebagaimana mestinya saat akselerasi hardware diaktifkan secara global, Anda juga dapat mengontrolnya untuk aktivitas tertentu. Untuk mengaktifkan atau menonaktifkan akselerasi hardware, Anda dapat menggunakan atribut android:hardwareAccelerated untuk elemen <application> dan <activity> di AndroidManifest.xml. Contoh berikut mengaktifkan akselerasi hardware untuk seluruh aplikasi, tetapi menonaktifkannya untuk satu aktivitas:

<application android:hardwareAccelerated="true">
    <!-- For activities that use ads, hardwareAcceleration should be true. -->
    <activity android:hardwareAccelerated="true" />
    <!-- For activities that don't use ads, hardwareAcceleration can be false. -->
    <activity android:hardwareAccelerated="false" />
</application>

Lihat Panduan akselerasi hardware untuk mengetahui informasi selengkapnya tentang opsi untuk mengontrol akselerasi hardware. Perhatikan bahwa setiap tampilan iklan tidak dapat diaktifkan untuk akselerasi hardware jika aktivitas dinonaktifkan, sehingga aktivitas itu sendiri harus mengaktifkan akselerasi hardware.

Referensi lainnya

Contoh di GitHub

  • Contoh iklan banner adaptif anchor: Java | Kotlin

Langkah berikutnya

Banner yang dapat diciutkan

Iklan banner yang dapat diciutkan adalah iklan banner yang awalnya ditampilkan sebagai overlay yang lebih besar, dengan tombol untuk menciutkan iklan ke ukuran yang lebih kecil. Pertimbangkan untuk menggunakannya untuk mengoptimalkan performa Anda lebih lanjut. Lihat iklan banner yang dapat diciutkan untuk detail selengkapnya.

Banner adaptif inline

Banner adaptif inline adalah banner yang lebih besar dan lebih tinggi dibandingkan banner adaptif anchor. Banner ini memiliki tinggi variabel, dan dapat setinggi layar perangkat. Banner adaptif inline direkomendasikan daripada iklan banner adaptif anchor untuk aplikasi yang menempatkan iklan banner dalam konten yang dapat di-scroll. Lihat banner adaptif inline untuk mengetahui detail selengkapnya.

Jelajahi topik lainnya