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 informasi selengkapnya.

Panduan ini menunjukkan cara mulai menggunakan anchor iklan banner adaptif, yang memaksimalkan performa dengan mengoptimalkan ukuran iklan untuk setiap perangkat yang 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. Satu kali Anda menetapkan lebar penuh yang tersedia, maka akan menghasilkan iklan dengan tinggi untuk lebar tersebut. Tinggi optimal tidak berubah di semua permintaan dari di perangkat yang sama, dan tampilan di sekitarnya tidak perlu bergerak saat iklan memuat ulang.

Prasyarat

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 pengujian adalah dengan menggunakan ID unit iklan pengujian khusus kami untuk banner Android:

/21775744923/example/adaptive-banner

URL ini telah dikonfigurasi secara khusus guna menampilkan iklan percobaan 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 Menguji Google Ads.

Menambahkan AdManagerAdView ke tata letak

Langkah pertama untuk menampilkan banner adalah menempatkan AdManagerAdView dalam tata letak aplikasi Anda:

Java

// Create a new ad view.
adView = new AdManagerAdView(this);
adView.setAdUnitId(AD_UNIT);
adView.setAdSize(getAdSize());

// Replace ad container with new ad view.
adContainerView.removeAllViews();
adContainerView.addView(adView);

Kotlin

// Create a new ad view.
val adView = AdManagerAdView(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 AdManagerAdView diterapkan, langkah berikutnya adalah memuat iklan. Hal ini dilakukan dengan metode loadAd() di class AdManagerAdView. Dibutuhkan AdManagerAdRequest , yang menyimpan informasi runtime, seperti info penargetan, tentang permintaan iklan tunggal.

Berikut adalah contoh yang menunjukkan cara memuat iklan:

Java

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

Kotlin

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

Jika iklan gagal dimuat, Anda tidak perlu secara eksplisit meminta iklan lain sebagai selama Anda mengonfigurasi unit iklan untuk disegarkan; Google Mobile Ads SDK mengikuti kecepatan refresh yang Anda tentukan di Ad Manager dan antarmuka web Anda. Jika belum mengaktifkan muat ulang, Anda perlu menerbitkan permintaan.

Selesai. Aplikasi Anda sekarang siap untuk menampilkan iklan banner.

Peristiwa iklan

Anda dapat memproses sejumlah peristiwa dalam siklus proses iklan, termasuk memuat, klik dan tayangan iklan, serta peristiwa pembukaan dan penutupan iklan. Disarankan untuk menetapkan 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() onAdClicked() dipanggil saat klik direkam untuk iklan.
onAdClosed() onAdClosed() metode ini dipanggil saat pengguna kembali ke aplikasi setelah melihat URL tujuan. Aplikasi Anda dapat menggunakannya untuk melanjutkan aktivitas yang ditangguhkan atau melakukan pekerjaan lain yang diperlukan agar dirinya siap untuk interaksi.
onAdFailedToLoad() onAdFailedToLoad() satu-satunya metode yang menyertakan parameter. Parameter error jenis LoadAdError menjelaskan error yang terjadi. Untuk informasi selengkapnya, lihat Men-debug Error Pemuatan Iklan dokumentasi tambahan.
onAdImpression() onAdImpression() dipanggil saat tayangan iklan dicatat untuk sebuah iklan.
onAdLoaded() onAdLoaded() akan dijalankan saat iklan selesai dimuat. Jika Anda ingin menunda menambahkan AdManagerAdView ke aktivitas atau fragmen Anda hingga Anda yakin bahwa iklan akan dimuat, selama Anda bisa melakukannya di sini.
onAdOpened() onAdOpened() dipanggil saat iklan membuka overlay yang menutupi layar.

Akselerasi hardware untuk iklan video

Agar iklan video berhasil tampil dalam tampilan iklan spanduk Anda, perangkat keras akselerasi harus diaktifkan.

Akselerasi hardware diaktifkan secara default, tetapi beberapa aplikasi dapat memilih untuk menonaktifkannya anotasi. 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 individual. Untuk mengaktifkan atau menonaktifkan akselerasi hardware, Anda dapat menggunakan android:hardwareAccelerated untuk atribut <application> dan <activity> elemen di AndroidManifest.xml. Contoh berikut mengaktifkan hardware akselerasi 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 Akselerasi hardware untuk informasi selengkapnya informasi tentang pilihan untuk mengendalikan akselerasi perangkat keras. Perhatikan bahwa setiap tampilan iklan tidak dapat diaktifkan untuk akselerasi hardware jika aktivitas dinonaktifkan, sehingga aktivitas itu sendiri harus mengaktifkan akselerasi hardware.

Penghitungan tayangan manual

Penghitungan tayangan manual hanya kompatibel dengan kampanye yang dijual langsung dan iklan internal dengan materi iklan yang diproses secara langsung di Ad Manager. Seharusnya tidak digunakan untuk iklan jaringan pihak ketiga atau isi ulang. Untuk detail selengkapnya, lihat Menghitung tayangan iklan dan klik.

Anda dapat mengirim ping tayangan iklan secara manual ke Ad Manager jika memiliki syarat kapan tayangan iklan harus dicatat. Untuk melakukannya, aktifkan AdManagerAdRequest untuk tayangan manual sebelum memuat iklan:

Java

AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder()
    .setManualImpressionsEnabled(true)
    .build();

Kotlin

val adRequest = AdManagerAdRequest.Builder()
    .setManualImpressionsEnabled(true)
    .build()

Saat menentukan bahwa iklan telah berhasil ditampilkan dan ada di layar, Anda dapat mencatat tayangan secara manual:

Java

{ ad_view }.recordManualImpression();

Kotlin

AdManagerAdView.recordManualImpression()

Peristiwa aplikasi

Peristiwa aplikasi memungkinkan Anda membuat iklan yang dapat mengirimkan pesan ke kode aplikasi mereka. Aplikasi dapat mengambil tindakan berdasarkan pesan tersebut.

Anda dapat memproses peristiwa aplikasi khusus Ad Manager menggunakan AppEventListener. Peristiwa ini dapat terjadi kapan saja selama siklus proses iklan, bahkan sebelum onAdLoaded() dipanggil.

Java

public interface AppEventListener {
  void onAppEvent(String name, String info);
}

Kotlin

interface AppEventListener {
    fun onAppEvent(name: String, info: String)
}

void onAppEvent(String name, String info) dipanggil saat peristiwa aplikasi terjadi dalam iklan. Antarmuka ini dapat diimplementasikan oleh aktivitas Anda atau :

Java

import com.google.android.gms.ads.admanager.*;

public class BannerExample extends Activity implements AppEventListener {
}

Kotlin

import com.google.android.gms.ads.admanager.*

class BannerExample : Activity(), AppEventListener {
}

lalu diteruskan ke AdManagerAdView:

Java

AdManagerAdView.setAppEventListener(this);

Kotlin

AdManagerAdView.appEventListener = this

Berikut adalah contoh yang menunjukkan cara mengubah warna latar belakang aplikasi bergantung pada peristiwa aplikasi dengan nama warna:

Java

@Override
public void onAppEvent(String name, String info) {
  if ("color".equals(name)) {
    if ("green".equals(info)) {
      // Set background color to green.
    } else if ("blue".equals(info)) {
      // Set background color to blue.
    } else {
      // Set background color to black.
    }
  }
}

Kotlin

override fun onAppEvent(name: String?, info: String?) {
    if (name == "color") {
        when (info) {
            "green" -> {
                // Set background color to green.
            }
            "blue" -> {
                // Set background color to blue.
            }
            else -> {
                // Set background color to black.
            }
        }
    }
}

Dan, berikut adalah materi iklan yang sesuai yang mengirimkan pesan peristiwa aplikasi warna ke Pemroses:

<html>
<head>
  <script src="//www.gstatic.com/afma/api/v1/google_mobile_app_ads.js"></script>
  <script>
    document.addEventListener("DOMContentLoaded", function() {
      // Send a color=green event when ad loads.
      admob.events.dispatchAppEvent("color", "green");

      document.getElementById("ad").addEventListener("click", function() {
        // Send a color=blue event when ad is clicked.
        admob.events.dispatchAppEvent("color", "blue");
      });
    });
  </script>
  <style>
    #ad {
      width: 320px;
      height: 50px;
      top: 0px;
      left: 0px;
      font-size: 24pt;
      font-weight: bold;
      position: absolute;
      background: black;
      color: white;
      text-align: center;
    }
  </style>
</head>
<body>
  <div id="ad">Carpe diem!</div>
</body>
</html>

Lihat contoh Peristiwa Aplikasi Ad Manager untuk penerapan peristiwa aplikasi di Aplikasi Demo API.

Java Kotlin

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 mula-mula disajikan dengan iklan overlay, 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 berukuran lebih besar dan lebih tinggi dibandingkan dengan banner adaptif anchor banner. Tingginya bervariasi, dan bisa 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