Iklan native adalah aset iklan yang ditampilkan kepada pengguna melalui komponen UI yang merupakan native platform. Buku tersebut ditampilkan menggunakan kelas yang sama dengan yang sudah Anda gunakan di storyboard, dan dapat diformat agar cocok dengan desain visual aplikasi Anda. Saat iklan native dimuat, aplikasi Anda menerima objek iklan yang berisi asetnya, dan aplikasi (bukan SDK) kemudian bertanggung jawab untuk menampilkannya. Ini berbeda dengan format iklan lainnya, yang tidak memungkinkan Anda menyesuaikan tampilan iklan.
Panduan ini akan menunjukkan cara menggunakan Google Mobile Ads SDK untuk menerapkan iklan native di aplikasi iOS, serta beberapa hal penting yang perlu dipertimbangkan selama proses berlangsung.
Secara garis besar, ada dua bagian agar berhasil menerapkan iklan native: memuat iklan melalui SDK dan menampilkan konten iklan di aplikasi. Halaman ini membahas pemuatan iklan menggunakan SDK.
Jika Anda sudah berhasil memuat iklan native, dan hanya perlu mengetahui cara menampilkannya, jangan ragu untuk langsung membuka panduan Template Native atau Native Advanced.
Prasyarat
- Selesaikan Panduan memulai.
Selalu uji dengan iklan uji coba
Sebelum memulai, ingat bahwa saat membuat dan menguji aplikasi, Anda harus memastikan bahwa Anda menggunakan iklan pengujian, bukan iklan produksi aktif. Pengujian dengan iklan produksi dapat menyebabkan penangguhan akun.
Cara termudah untuk memuat iklan pengujian adalah menggunakan ID unit iklan pengujian khusus kami untuk semua iklan native lanjutan di iOS:
ca-app-pub-3940256099942544/3986624511
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
Iklan native dimuat melalui objek GADAdLoader
, yang mengirim pesan ke delegasinya sesuai dengan protokol GADAdLoaderDelegate
.
Menginisialisasi loader iklan
Sebelum dapat memuat iklan, Anda harus melakukan inisialisasi loader iklan.
Kode berikut menunjukkan cara menginisialisasi GADAdLoader
:
Swift
adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511", rootViewController: self, adTypes: [ .native ], options: [ ... ad loader options objects ... ]) adLoader.delegate = self
Objective-C
self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511" rootViewController:rootViewController adTypes:@[ GADAdLoaderAdTypeNative ] options:@[ ... ad loader options objects ... ]]; self.adLoader.delegate = self;
Anda memerlukan ID unit iklan (Anda dapat menggunakan ID pengujian), konstanta untuk diteruskan dalam array adTypes
guna menentukan format native mana yang ingin Anda minta, dan opsi apa pun yang ingin Anda tetapkan dalam parameter options
. Daftar kemungkinan
nilai untuk parameter options
dapat ditemukan di halaman Menyetel Iklan
Opsi Native.
Array adTypes
harus berisi
konstanta ini:
Menerapkan delegasi loader iklan
Delegasi loader iklan perlu menerapkan protokol yang khusus untuk jenis iklan Anda. Untuk iklan native:
-
GADNativeAdLoaderDelegate
Protokol ini menyertakan pesan yang dikirim ke delegasi saat iklan native dimuat:Swift
public func adLoader(_ adLoader: GADAdLoader, didReceive nativeAd: GADNativeAd)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd;
Meminta iklan
Setelah GADAdLoader
diinisialisasi, panggil metode loadRequest:
untuk meminta iklan:
Swift
adLoader.load(GADRequest())
Objective-C
[self.adLoader loadRequest:[GADRequest request]];
Metode loadRequest:
di GADAdLoader
menerima objek GADRequest
yang sama seperti banner dan interstisial. Anda dapat menggunakan objek permintaan untuk menambahkan informasi penargetan, seperti yang Anda lakukan dengan jenis iklan lainnya.
Kapan harus meminta iklan
Aplikasi yang menampilkan iklan native bebas memintanya sebelum waktu benar ditampilkan. Dalam banyak kasus, ini adalah praktik yang direkomendasikan. Aplikasi yang menampilkan daftar item dengan campuran iklan native, misalnya, dapat memuat iklan native untuk seluruh daftar dengan mengetahui bahwa beberapa iklan native hanya akan ditampilkan setelah pengguna men-scroll tampilan dan beberapa iklan lainnya mungkin tidak ditampilkan sama sekali.
Meskipun mengambil data iklan merupakan teknik yang sangat bagus, Anda tidak boleh menyimpan iklan lama selamanya tanpa menampilkannya. Objek iklan native apa pun yang telah dipertahankan tanpa ditampilkan selama lebih dari satu jam harus dihapus dan diganti dengan iklan baru dari permintaan baru.
Menentukan kapan pemuatan selesai
Setelah memanggil loadRequest:
, aplikasi dapat memperoleh hasil permintaan melalui
panggilan ke:
adLoader:didFailToReceiveAdWithError:
diGADAdLoaderDelegate
adLoader:didReceiveNativeAd:
dalamGADNativeAdLoaderDelegate
Permintaan untuk satu iklan akan menghasilkan satu panggilan ke salah satu metode tersebut.
Permintaan untuk beberapa iklan akan menghasilkan setidaknya satu callback ke metode di atas, tetapi tidak melebihi jumlah maksimum iklan yang diminta.
Selain itu, GADAdLoaderDelegate
menawarkan callback adLoaderDidFinishLoading
. Metode delegasi ini menunjukkan bahwa loader iklan telah selesai memuat iklan dan tidak ada iklan atau error lain yang akan dilaporkan untuk permintaan tersebut. Berikut adalah
contoh cara menggunakannya saat memuat beberapa iklan native sekaligus:
Swift
class ViewController: UIViewController, GADNativeAdLoaderDelegate { var adLoader: GADAdLoader! override func viewDidLoad() { super.viewDidLoad() let multipleAdsOptions = GADMultipleAdsAdLoaderOptions() multipleAdsOptions.numberOfAds = 5 adLoader = GADAdLoader(adUnitID: YOUR_AD_UNIT_ID, rootViewController: self, adTypes: [.native], options: [multipleAdsOptions]) adLoader.delegate = self adLoader.load(GADRequest()) } func adLoader(_ adLoader: GADAdLoader, didReceive nativeAd: GADNativeAd) { // A native ad has loaded, and can be displayed. } func adLoaderDidFinishLoading(_ adLoader: GADAdLoader) { // The adLoader has finished loading ads, and a new request can be sent. } }
Objective-C
@interface ViewController () <GADNativeAdLoaderDelegate, GADVideoControllerDelegate> @property(nonatomic, strong) GADAdLoader *adLoader; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; GADMultipleAdsAdLoaderOptions *multipleAdsOptions = [[GADMultipleAdsAdLoaderOptions alloc] init]; multipleAdsOptions.numberOfAds = 5; self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:YOUR_AD_UNIT_ID rootViewController:self adTypes:@[GADAdLoaderAdTypeNative] options:@[multipleAdsOptions]]; self.adLoader.delegate = self; [self.adLoader loadRequest:[GADRequest request]]; } - (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd { // A native ad has loaded, and can be displayed. } - (void)adLoaderDidFinishLoading:(GADAdLoader *) adLoader { // The adLoader has finished loading ads, and a new request can be sent. } @end
Menangani permintaan yang gagal
Protokol di atas memperluas protokol GADAdLoaderDelegate
, yang menentukan pesan yang dikirim saat iklan gagal dimuat.
Swift
public func adLoader(_ adLoader: GADAdLoader, didFailToReceiveAdWithError error: NSError)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didFailToReceiveAdWithError:(NSError *)error;
Dapatkan notifikasi tentang peristiwa iklan native
Agar mendapatkan pemberitahuan tentang peristiwa yang terkait dengan interaksi iklan native, tetapkan properti delegasi untuk iklan native:
Swift
nativeAd.delegate = self
Objective-C
nativeAd.delegate = self;
Lalu, terapkan
GADNativeAdDelegate
untuk menerima panggilan delegasi berikut:
Swift
func nativeAdDidRecordImpression(_ nativeAd: GADNativeAd) { // The native ad was shown. } func nativeAdDidRecordClick(_ nativeAd: GADNativeAd) { // The native ad was clicked on. } func nativeAdWillPresentScreen(_ nativeAd: GADNativeAd) { // The native ad will present a full screen view. } func nativeAdWillDismissScreen(_ nativeAd: GADNativeAd) { // The native ad will dismiss a full screen view. } func nativeAdDidDismissScreen(_ nativeAd: GADNativeAd) { // The native ad did dismiss a full screen view. } func nativeAdWillLeaveApplication(_ nativeAd: GADNativeAd) { // The native ad will cause the application to become inactive and // open a new application. }
Objective-C
- (void)nativeAdDidRecordImpression:(GADNativeAd *)nativeAd { // The native ad was shown. } - (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd { // The native ad was clicked on. } - (void)nativeAdWillPresentScreen:(GADNativeAd *)nativeAd { // The native ad will present a full screen view. } - (void)nativeAdWillDismissScreen:(GADNativeAd *)nativeAd { // The native ad will dismiss a full screen view. } - (void)nativeAdDidDismissScreen:(GADNativeAd *)nativeAd { // The native ad did dismiss a full screen view. } - (void)nativeAdWillLeaveApplication:(GADNativeAd *)nativeAd { // The native ad will cause the application to become inactive and // open a new application. }
Tampilkan iklan Anda
Setelah Anda memuat iklan, yang tersisa hanyalah menampilkannya kepada pengguna. Buka panduan Native Advanced untuk melihat caranya.