Iklan banner mengisi suatu tempat 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 dimuat ulang secara otomatis setelah jangka waktu tertentu. Jika periklanan seluler merupakan hal yang baru bagi Anda, iklan Banner adalah pilihan pertama yang baik.
Panduan ini menunjukkan cara mengintegrasikan iklan banner dariAd Manager ke aplikasi Android. Selain cuplikan kode dan petunjuknya, panduan ini juga mencakup informasi tentang menetapkan ukuran banner dengan benar dan menautkan ke referensi tambahan.
Prasyarat
- Selesaikan Panduan memulai.
Menambahkan AdManagerAdView ke tata letak
Langkah pertama untuk menampilkan banner adalah menempatkan AdManagerAdView
pada 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 adalah contoh yang menunjukkan AdManagerAdView
aktivitas:
# main_activity.xml ... <com.google.android.gms.ads.admanager.AdManagerAdView xmlns:ads="http://schemas.android.com/apk/res-auto" android:id="@+id/adManagerAdView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_alignParentBottom="true" ads:adSize="BANNER" ads:adUnitId="/6499/example/banner"> </com.google.android.gms.ads.admanager.AdManagerAdView> ...
Perhatikan atribut wajib berikut:
ads:adSize
- Tetapkan ke ukuran iklan yang ingin Anda gunakan. Jika Anda tidak ingin menggunakan ukuran standar yang ditentukan oleh konstanta, Anda dapat menetapkan ukuran kustom sebagai gantinya. Lihat bagian ukuran banner di bawah untuk mengetahui detailnya.ads:adUnitId
- Tetapkan ID unik ini ke unit iklan di aplikasi Anda tempat iklan akan ditampilkan. Jika Anda menampilkan iklan banner dalam berbagai aktivitas, setiap unit iklan memerlukan unit iklan.
Atau, Anda dapat membuat AdManagerAdView
secara terprogram:
Java
AdManagerAdView adView = new AdManagerAdView(this); adView.setAdSizes(AdSize.BANNER); adView.setAdUnitId("/6499/example/banner"); // TODO: Add adView to your view hierarchy.
Kotlin
val adView = AdManagerAdView(this) adView.adSizes = AdSize.BANNER adView.adUnitId = "/6499/example/banner" // TODO: Add adView to your view hierarchy.
Selalu uji dengan iklan percobaan
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 dengan menggunakan ID unit iklan pengujian khusus kami untuk banner Android:
/6499/example/banner
Halaman ini telah dikonfigurasi khusus untuk menampilkan iklan pengujian untuk setiap permintaan, dan Anda bebas menggunakannya di aplikasi milik sendiri saat melakukan coding, 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 Iklan Pengujian.
Memuat iklan
Setelah AdManagerAdView diterapkan, langkah berikutnya adalah
memuat iklan. Itu dilakukan dengan metode
loadAd()
di class AdManagerAdView
. Dibutuhkan
parameter AdManagerAdRequest
, yang menyimpan informasi runtime (seperti info penargetan) tentang
satu permintaan iklan.
Berikut adalah contoh yang menunjukkan cara memuat iklan dalam metode onCreate()
dari Activity
:
MainActivity (kutipan)
Java
package ... import ... import com.google.android.gms.ads.admanager.AdManagerAdRequest; import com.google.android.gms.ads.admanager.AdManagerAdView; public class MainActivity extends AppCompatActivity { private AdManagerAdView mAdManagerAdView; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mAdManagerAdView = findViewById(R.id.adManagerAdView); AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder().build(); mAdManagerAdView.loadAd(adRequest); } }
Kotlin
package ... import ... import com.google.android.gms.ads.admanager.AdManagerAdRequest import com.google.android.gms.ads.admanager.AdManagerAdView class MainActivity : AppCompatActivity() { lateinit var mAdManagerAdView : AdManagerAdView override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) mAdManagerAdView = findViewById(R.id.adManagerAdView) val adRequest = AdManagerAdRequest.Builder().build() mAdManagerAdView.loadAd(adRequest) } }
Selesai. Aplikasi Anda sekarang siap menampilkan iklan banner.
Peristiwa iklan
Untuk menyesuaikan perilaku iklan lebih lanjut, Anda dapat memanfaatkan sejumlah peristiwa dalam siklus proses iklan: memuat, membuka, menutup, dan sebagainya. Anda dapat
memproses peristiwa ini melalui
class
AdListener
.
Untuk menggunakan
AdListener
dengan
AdManagerAdView
,
panggil
metode
setAdListener()
:
Java
mAdManagerAdView.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
mAdManagerAdView.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 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.
|
onAdFailedToLoad()
|
Metode onAdFailedToLoad()
adalah satu-satunya yang menyertakan parameter. Parameter error 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()
dijalankan saat iklan telah selesai dimuat. Jika ingin menunda penambahan
AdManagerAdView
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.
|
Ukuran spanduk
Tabel di bawah 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 | Kotak 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)
Ukuran iklan khusus
Selain unit iklan standar, Google Ad Manager memungkinkan Anda menayangkan
unit iklan berukuran apa pun ke dalam aplikasi. Ukuran iklan (lebar, tinggi) yang ditentukan untuk
permintaan iklan harus cocok dengan dimensi tampilan iklan (AdManagerAdView
dalam
contoh berikut) yang ditampilkan di aplikasi.
Contoh:
Java
// Define custom AdSize of 250x250 for AdManagerAdView AdSize customAdSize = new AdSize(250, 250); AdManagerAdView adView = new AdManagerAdView(this); adView.setAdSizes(customAdSize);
Kotlin
// Define custom AdSize of 250x250 for AdManagerAdView val customAdSize = AdSize(250, 250) val adView = AdManagerAdView(this) adView.setAdSizes(customAdSize)
Lihat contoh Beberapa Ukuran Iklan Ad Manager untuk implementasi ukuran iklan kustom di aplikasi Android API Demo.
Beberapa ukuran iklan
Ad Manager memungkinkan Anda menentukan beberapa ukuran iklan yang mungkin memenuhi syarat untuk ditayangkan ke
AdManagerAdView
. Sebelum menerapkan fitur ini di SDK, buat item baris
yang menargetkan unit iklan yang sama yang terkait dengan materi iklan
ukuran yang berbeda.
Di aplikasi Anda, cukup teruskan beberapa parameter AdSize
ke setAdSizes
:
Java
AdManagerAdView adView = new AdManagerAdView(this); adView.setAdSizes(AdSize.BANNER, new AdSize(120, 20), new AdSize(250, 250));
Kotlin
val adView = AdManagerAdView(this) adView.setAdSizes(AdSize.BANNER, AdSize(120, 20), AdSize(250, 250))
Jika AdManagerAdView
mengubah ukuran pada waktu refresh, tata letak Anda harus dapat
secara otomatis beradaptasi dengan ukuran baru.
Jika perlu mengubah ukuran iklan yang didukung kapan saja dalam aplikasi Anda,
cukup panggil setAdSizes
dengan daftar ukuran baru.
Java
// Drop support for 120x20 ad size. adView.setAdSizes(AdSize.BANNER, new AdSize(250, 250));
Kotlin
// Drop support for 120x20 ad size. adView.setAdSizes(AdSize.BANNER, AdSize(250, 250))
AdManagerAdView
akan ditetapkan secara default ke ukuran yang diteruskan dalam parameter pertama hingga iklan berikutnya ditampilkan.
Anda juga dapat menetapkan beberapa ukuran iklan menggunakan atribut ads:adSizes
dalam file tata letak XML:
<com.google.android.gms.ads.admanager.AdManagerAdView
android:id="@+id/multiple_ad_sizes_view"
android:layout_width="wrap_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
ads:adSizes="BANNER,120x20,250x250"
ads:adUnitId="ad unit ID" />
Lihat contoh Beberapa Ukuran Iklan Ad Manager untuk implementasi beberapa ukuran iklan di aplikasi Demo API Android.
Penghitungan tayangan manual
Anda dapat mengirim ping tayangan ke Ad Manager secara manual jika memiliki kondisi khusus
untuk menentukan kapan tayangan harus direkam. Caranya, 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()
Jika iklan berhasil dikembalikan dan ditampilkan di layar, Anda dapat mencatat tayangan secara manual:
Java
mAdManagerAdView.recordManualImpression();
Kotlin
mAdManagerAdView.recordManualImpression()
Peristiwa aplikasi
Peristiwa aplikasi memungkinkan Anda membuat iklan yang dapat mengirimkan pesan ke kode aplikasinya. Aplikasi kemudian dapat mengambil tindakan berdasarkan pesan tersebut.
Anda dapat memproses peristiwa aplikasi tertentu 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
di iklan.
Antarmuka ini mungkin diterapkan oleh aktivitas Anda atau objek lainnya:
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
mAdManagerAdView.setAppEventListener(this);
Kotlin
mAdManagerAdView.appEventListener = this
Berikut adalah contoh yang menunjukkan cara mengubah warna latar belakang aplikasi Anda, 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 implementasi peristiwa aplikasi di aplikasi Demo Android API.
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 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
Anda. 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 itu sendiri harus mengaktifkan akselerasi hardware.