Iklan Native

Iklan native adalah aset iklan yang disajikan kepada pengguna melalui komponen UI yang merupakan bawaan platform. Mereka ditampilkan menggunakan jenis tampilan yang sama dengan yang sudah Anda bangun, dan dapat diformat agar sesuai dengan desain visual aplikasi Anda.

Saat iklan native dimuat, aplikasi akan menerima objek iklan yang berisi asetnya, dan aplikasi—bukan Google Mobile Ads SDK—kemudian bertanggung jawab untuk menampilkannya.

Secara garis besar, ada dua bagian agar iklan native berhasil diterapkan: Memuat iklan menggunakan SDK, lalu menampilkan konten iklan di aplikasi Anda.

Halaman ini menunjukkan cara menggunakan SDK untuk memuat iklan native.

Prasyarat

Selalu uji dengan iklan percobaan

Saat membuat dan menguji aplikasi, pastikan Anda menggunakan iklan percobaan, bukan iklan produksi secara langsung.

Cara termudah untuk memuat iklan percobaan adalah dengan menggunakan ID unit iklan percobaan khusus kami untuk iklan native di Android:

/21775744923/example/native

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 bahwa Anda ganti dengan ID unit iklan Anda sendiri sebelum memublikasikan aplikasi.

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

Muat iklan

Iklan Native dimuat dengan Class AdLoader, yang memiliki Builder untuk menyesuaikannya selama pembuatan. Dengan menambahkan pemroses ke AdLoader saat membuatnya, aplikasi menentukan jenis iklan native yang siap terima. AdLoader kemudian hanya meminta jenis tersebut.

Membuat AdLoader

Kode berikut menunjukkan cara membuat AdLoader yang dapat memuat native iklan:

Java

AdLoader adLoader = new AdLoader.Builder(context, "/21775744923/example/native")
    .forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
        @Override
        public void onNativeAdLoaded(NativeAd nativeAd) {
            // Show the ad.
        }
    })
    .withAdListener(new AdListener() {
        @Override
        public void onAdFailedToLoad(LoadAdError adError) {
            // Handle the failure by logging, altering the UI, and so on.
        }
    })
    .withNativeAdOptions(new NativeAdOptions.Builder()
            // Methods in the NativeAdOptions.Builder class can be
            // used here to specify individual options settings.
            .build())
    .build();

Kotlin

val adLoader = AdLoader.Builder(this, "/21775744923/example/native}")
    .forNativeAd { ad : NativeAd ->
        // Show the ad.
    }
    .withAdListener(object : AdListener() {
        override fun onAdFailedToLoad(adError: LoadAdError) {
            // Handle the failure.
        }
    })
    .withNativeAdOptions(NativeAdOptions.Builder()
            // Methods in the NativeAdOptions.Builder class can be
            // used here to specify individual options settings.
            .build())
    .build()

Metode forNativeAd() bertanggung jawab untuk menyiapkan AdLoader untuk format NativeAd. Saat iklan berhasil dimuat, onNativeAdLoaded() objek pemroses dipanggil.

Menyiapkan AdListener dengan AdLoader (opsional)

Saat membuat AdLoader, metode withAdListener fungsi menyetel AdListener untuk dengan fungsi loader biasa. Metode ini menggunakan AdListener sebagai parameter tunggalnya, yang menerima callback dari AdLoader saat peristiwa siklus proses iklan terjadi:

Java

.withAdListener(new AdListener() {
    // AdListener callbacks can be overridden here.
})

Kotlin

.withAdListener(object : AdListener() {
    // AdListener callbacks can be overridden here.
})

Permintaan iklan

Setelah selesai membuat AdLoader, saatnya menggunakannya untuk meminta iklan. Gunakan metode loadAd() yang menggunakan AdManagerAdRequest sebagai parameter pertamanya. Ini sama saja Kelas AdManagerAdRequest yang digunakan oleh banner dan interstisial, dan Anda dapat menggunakan metode class AdManagerAdRequest untuk menambahkan informasi penargetan, sama seperti dibandingkan dengan format iklan lainnya.

loadAd()

Metode ini mengirim permintaan untuk satu iklan.

Java

adLoader.loadAd(new AdManagerAdRequest.Builder().build());

Kotlin

adLoader.loadAd(AdManagerAdRequest.Builder().build())

Callback

Setelah panggilan ke loadAd(), satu callback dilakukan ke callback yang telah ditentukan sebelumnya metode pemroses untuk menayangkan objek iklan native atau melaporkan error.

Merilis resource

Pastikan untuk menggunakan metode destroy() pada iklan native yang dimuat. Rilis ini sumber daya yang terpakai dan mencegah kebocoran memori.

Pastikan semua referensi NativeAd dihancurkan dalam metode Metode onDestroy().

Dalam callback onNativeAdLoaded, pastikan untuk menghancurkan semua callback yang ada iklan native yang akan dihilangkan referensinya.

Pemeriksaan kunci lainnya adalah apakah aktivitas dihancurkan dan jika ya, panggil destroy() pada iklan yang ditampilkan dan segera kembalikan:

Java

final AdLoader adLoader = new AdLoader.Builder(this, "/21775744923/example/native")
        .forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
    @Override
    public void onNativeAdLoaded(NativeAd nativeAd) {
        // If this callback occurs after the activity is destroyed, you
        // must call destroy and return or you may get a memory leak.
        // Note `isDestroyed()` is a method on Activity.
        if (isDestroyed()) {
            nativeAd.destroy();
            return;
        }
        ...
    }
}).build();

Kotlin

lateinit var adLoader: AdLoader
...
adLoader = AdLoader.Builder(this, "/21775744923/example/native")
    .forNativeAd { nativeAd ->
        // If this callback occurs after the activity is destroyed, you
        // must call destroy and return or you may get a memory leak.
        // Note `isDestroyed` is a method on Activity.
        if (isDestroyed) {
            nativeAd.destroy()
            return@forNativeAd
        }
        ...
    }.build()

Praktik terbaik

Ikuti aturan ini saat memuat iklan.

  • Aplikasi yang menggunakan iklan native dalam daftar harus melakukan pra-cache daftar iklan.

  • Saat melakukan pra-cache iklan, hapus cache Anda, lalu muat ulang setelah satu jam.

  • Jangan panggil loadAd() di AdLoader sampai yang pertama selesai dimuat.

Akselerasi hardware untuk iklan video

Agar iklan video berhasil ditampilkan dalam tampilan iklan native, perangkat keras percepatan harus diaktifkan.

Akselerasi perangkat keras diaktifkan secara default, tetapi beberapa aplikasi mungkin memilih untuk melakukannya. menonaktifkannya. Jika ini berlaku untuk aplikasi Anda, sebaiknya aktifkan hardware akselerasi untuk kelas Aktivitas 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 nonaktifkan akselerasi hardware, gunakan atribut android:hardwareAccelerated untuk <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 HW panduan untuk informasi lebih lanjut tentang opsi untuk mengontrol 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.

Tampilkan iklan Anda

Setelah memuat iklan, yang tersisa hanyalah menampilkannya kepada pengguna. Buka halaman Native Advanced untuk melihat caranya.