Iklan Banner

Iklan banner menempati posisi di dalam tata letak aplikasi, baik di bagian atas maupun bawah layar perangkat. Iklan ini tetap berada di layar saat pengguna berinteraksi dengan aplikasi, dan dapat diperbarui secara otomatis setelah jangka waktu tertentu. Jika Anda baru menggunakan iklan seluler, iklan ini adalah awal yang bagus untuk memulai. Contoh kisah sukses.

Panduan ini menunjukkan cara mengintegrasikan iklan banner dari AdMob ke dalam aplikasi Android. Selain cuplikan dan petunjuk kode, panduan ini juga menyertakan informasi tentang pengubahan ukuran banner dengan benar dan link ke referensi tambahan.

Prasyarat

Menambahkan AdView ke tata letak

Langkah pertama untuk menampilkan banner adalah menempatkan AdView dalam tata letak untuk Activity atau Fragment tempat Anda ingin menampilkannya. Cara termudah untuk melakukannya adalah dengan menambahkannya ke file tata letak XML yang sesuai. Berikut ini contoh yang menunjukkan AdView aktivitas:

# main_activity.xml
...
  <com.google.android.gms.ads.AdView
      xmlns:ads="http://schemas.android.com/apk/res-auto"
      android:id="@+id/adView"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerHorizontal="true"
      android:layout_alignParentBottom="true"
      ads:adSize="BANNER"
      ads:adUnitId="ca-app-pub-3940256099942544/6300978111">
  </com.google.android.gms.ads.AdView>
...

Perhatikan atribut yang diperlukan berikut:

  • ads:adSize - Tetapkan ukuran ini ke ukuran iklan yang ingin Anda gunakan. Jika tidak ingin menggunakan ukuran standar yang ditentukan oleh konstanta, Anda dapat menyetel ukuran kustom. Lihat bagian ukuran banner di bawah untuk melihat detailnya.
  • ads:adUnitId - Tetapkan string ini ke ID unik yang diberikan ke unit iklan di aplikasi Anda tempat iklan akan ditampilkan. Jika Anda menampilkan iklan banner dalam berbagai aktivitas, setiap unit memerlukan unit iklan.

Atau, Anda dapat membuat AdView secara terprogram:

Java

AdView adView = new AdView(this);

adView.setAdSize(AdSize.BANNER);

adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
// TODO: Add adView to your view hierarchy.

Kotlin

val adView = AdView(this)

adView.adSize = AdSize.BANNER

adView.adUnitId = "ca-app-pub-3940256099942544/6300978111"
// TODO: Add adView to your view hierarchy.

Selalu uji dengan iklan uji coba

Saat membuat dan menguji aplikasi, pastikan Anda menggunakan iklan pengujian, bukan iklan produksi aktif. Jika Anda tidak melakukannya, akun Anda dapat ditangguhkan.

Cara termudah untuk memuat iklan pengujian adalah menggunakan ID unit iklan pengujian khusus kami untuk banner Android:

ca-app-pub-3940256099942544/6300978111

Aplikasi ini telah dikonfigurasi secara khusus guna menampilkan iklan pengujian untuk setiap permintaan, dan Anda bebas menggunakannya dalam aplikasi Anda sendiri saat membuat kode, menguji, dan men-debug. Pastikan Anda menggantinya dengan ID unit iklan Anda sendiri sebelum memublikasikan aplikasi.

Untuk informasi selengkapnya tentang cara kerja iklan pengujian Mobile Ads SDK, lihat Menguji Iklan.

Memuat iklan

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

Berikut ini contoh yang menunjukkan cara memuat iklan dalam metode onCreate() dari Activity:

MainActivity (kutipan)

Java

package ...

import ...
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;

public class MainActivity extends AppCompatActivity {
    private AdView mAdView;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        MobileAds.initialize(this, new OnInitializationCompleteListener() {
            @Override
            public void onInitializationComplete(InitializationStatus initializationStatus) {
            }
        });

        mAdView = findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);
    }
}

Kotlin

package ...

import ...
import com.google.android.gms.ads.AdRequest
import com.google.android.gms.ads.AdView

class MainActivity : AppCompatActivity() {

    lateinit var mAdView : AdView

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        MobileAds.initialize(this) {}

        mAdView = findViewById(R.id.adView)
        val adRequest = AdRequest.Builder().build()
        mAdView.loadAd(adRequest)
    }
}

Selesai. Aplikasi Anda sekarang siap menampilkan iklan banner.

Peristiwa iklan

Untuk menyesuaikan lebih lanjut perilaku iklan, Anda dapat terhubung ke sejumlah peristiwa dalam siklus proses iklan: memuat, membuka, menutup, dan sebagainya. Anda dapat memproses peristiwa ini melalui class AdListener.

Untuk menggunakan AdListener dengan AdView, panggil metode setAdListener():

Java

mAdView.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

mAdView.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 dalam AdListener sesuai dengan peristiwa dalam siklus proses iklan.

Metode yang dapat diganti
onAdClicked() Metode onAdClicked() dipanggil saat klik direkam 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 berinteraksi. Lihat contoh AdListener AdMob untuk implementasi metode pemroses iklan di aplikasi Demo API Android.
onAdFailedToLoad() Metode onAdFailedToLoad() adalah satu-satunya yang menyertakan parameter. Parameter error jenis LoadAdError menjelaskan error yang terjadi. Untuk informasi selengkapnya, lihat dokumentasi Debug Error Beban Iklan.
onAdImpression() Metode onAdImpression() dipanggil saat tayangan dicatat untuk iklan.
onAdLoaded() Metode onAdLoaded() dijalankan saat iklan telah selesai dimuat. Jika ingin menunda penambahan AdView ke aktivitas atau fragmen Anda sampai Anda yakin iklan akan dimuat, misalnya, Anda dapat melakukannya di sini.
onAdOpened() Metode onAdOpened() dipanggil saat iklan membuka overlay yang menutupi layar.

Tabel berikut mencantumkan ukuran banner standar.

Ukuran dalam dp (LxT) Deskripsi Ketersediaan Konstanta AdSize
320x50 Banner Ponsel dan Tablet BANNER
320x100 Banner Besar Ponsel dan Tablet LARGE_BANNER
300x250 Persegi Panjang Sedang IAB Ponsel dan Tablet MEDIUM_RECTANGLE
468x60 Banner Ukuran Penuh IAB Tablet FULL_BANNER
728x90 Papan Peringkat IAB Tablet LEADERBOARD
Lebar yang disediakan x Tinggi adaptif Banner adaptif Ponsel dan Tablet T/A
Lebar layar x 32|50|90 Banner cerdas Ponsel dan Tablet SMART_BANNER
Pelajari Banner Adaptif lebih lanjut, yang dimaksudkan untuk menggantikan Banner Cerdas.

Untuk menentukan ukuran banner kustom, tetapkan AdSize yang diinginkan, seperti yang ditunjukkan di sini:

Java

AdSize adSize = new AdSize(300, 50);

Kotlin

val adSize = AdSize(300, 50)

Akselerasi hardware untuk iklan video

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

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

Mengaktifkan akselerasi hardware

Jika aplikasi Anda tidak berperilaku baik dengan akselerasi hardware yang 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 HW untuk informasi selengkapnya tentang opsi untuk mengontrol akselerasi hardware. Perhatikan bahwa tampilan iklan tunggal tidak dapat diaktifkan untuk akselerasi hardware jika Aktivitas dinonaktifkan, sehingga Aktivitas tersebut harus mengaktifkan akselerasi hardware.

Referensi lainnya

Contoh di GitHub

Tutorial video Garasi Iklan Seluler

Kisah sukses