Sampaikan masukan Anda dan bantu menyempurnakan rencana pengembangan Google Mobile Ads SDK. Ikuti Survei Tahunan Google Mobile Ads SDK untuk tahun 2023 sebelum ditutup pada tanggal 5 Mei 2023.

Iklan Native

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

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

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:

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.