Iklan Native

Iklan native adalah aset iklan yang ditampilkan kepada pengguna melalui komponen UI native pada platform. Tampilan tersebut ditampilkan menggunakan class yang sama dengan yang sudah Anda gunakan di storyboard dan dapat diformat agar sesuai dengan desain visual aplikasi Anda.

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

Secara garis besar, ada dua bagian agar berhasil menerapkan iklan native: 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 langsung.

Cara termudah untuk memuat iklan pengujian adalah dengan menggunakan ID unit iklan pengujian khusus kami untuk iklan native di iOS:

ca-app-pub-3940256099942544/3986624511

Layanan ini telah dikonfigurasi secara khusus untuk menampilkan iklan percobaan untuk setiap permintaan, dan Anda dapat menggunakannya di aplikasi Anda sendiri saat melakukan coding, menguji, dan melakukan proses debug. Cukup pastikan Anda menggantinya dengan ID unit iklan Anda sendiri sebelum memublikasikan aplikasi.

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

Memuat iklan

Iklan native dimuat dengan class GADAdLoader, yang mengirim pesan ke delegasi mereka sesuai dengan protokol GADAdLoaderDelegate.

Melakukan inisialisasi loader iklan

Sebelum dapat memuat iklan, Anda harus melakukan inisialisasi pemuat 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 untuk menentukan format native mana yang ingin Anda minta, dan opsi apa pun yang ingin Anda tetapkan dalam parameter options. Daftar nilai yang mungkin untuk parameter options dapat ditemukan di halaman Menyetel Opsi Iklan Native.

Array adTypes harus berisi konstanta ini :

Mengimplementasikan delegasi loader iklan

Delegasi pemuat iklan perlu menerapkan protokol khusus untuk jenis iklan Anda. Untuk iklan native, protokol GADNativeAdLoaderDelegate menyertakan pesan yang dikirim ke delegasi saat iklan native telah dimuat.

Swift

public func adLoader(_ adLoader: GADAdLoader,
            didReceive nativeAd: GADNativeAd)

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader
    didReceiveNativeAd:(GADNativeAd *)nativeAd;

Permintaan 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 dengan banner dan interstisial. Anda dapat menggunakan objek permintaan untuk menambahkan informasi penargetan, seperti yang Anda lakukan dengan jenis iklan lainnya.

Muat beberapa iklan (opsional)

Untuk memuat beberapa iklan dalam satu permintaan, tetapkan objek GADMultipleAdsAdLoaderOptions saat menginisialisasi GADAdLoader.

Swift

let multipleAdOptions = GADMultipleAdsAdLoaderOptions()
multipleAdOptions.numberOfAds = 5;
adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511",
    rootViewController: self,
    adTypes: [ .native ],
    options: [ multipleAdOptions ])

Objective-C

GADMultipleAdsAdLoaderOptions *multipleAdsOptions =
    [[GADMultipleAdsAdLoaderOptions alloc] init];
multipleAdsOptions.numberOfAds = 5;
self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
    rootViewController:rootViewController
               adTypes:@[ GADAdLoaderAdTypeNative ]
               options:@[ multipleAdsOptions ]];

Jumlah iklan per permintaan dibatasi hingga lima, dan tidak ada jaminan bahwa SDK akan menampilkan jumlah iklan persis yang diminta.

Semua iklan Google yang ditampilkan akan berbeda satu sama lain, meskipun iklan dari inventaris yang direservasi atau pembeli pihak ketiga tidak dijamin unik.

Jangan gunakan kelas GADMultipleAdsAdLoaderOptions jika Anda menggunakan mediasi, karena permintaan untuk beberapa iklan native saat ini tidak berfungsi untuk ID unit iklan yang telah dikonfigurasikan untuk mediasi.

Menentukan kapan pemuatan selesai

Setelah memanggil loadRequest:, aplikasi bisa mendapatkan hasil permintaan menggunakan 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 akan melebihi jumlah maksimum iklan yang diminta.

Selain itu, GADAdLoaderDelegate menawarkan callback adLoaderDidFinishLoading. Metode delegasi ini menunjukkan bahwa pemuat iklan telah selesai memuat iklan dan tidak ada iklan atau error lain yang akan dilaporkan untuk permintaan tersebut. Berikut ini contoh cara menggunakannya saat memuat beberapa iklan native sekaligus:

Swift

class ViewController: UIViewController, GADNativeAdLoaderDelegate {

  var adLoader: GADAdLoader!

  override func viewDidLoad() {
    super.viewDidLoad()

    let multipleAdOptions = GADMultipleAdsAdLoaderOptions()
    multipleAdOptions.numberOfAds = 5;
    adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511",
        rootViewController: self,
        adTypes: [ .native ],
        options: [ multipleAdOptions ])

    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:@"ca-app-pub-3940256099942544/3986624511"
      rootViewController:rootViewController
                 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;

Mendapatkan notifikasi peristiwa iklan native

Agar diberi tahu mengenai peristiwa yang terkait dengan interaksi iklan native, tetapkan properti delegasi iklan native:

Swift

nativeAd.delegate = self

Objective-C

nativeAd.delegate = self;

Selanjutnya, implementasikan 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 app to become inactive and
  // open a new app.
}

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 app to become inactive and
  // open a new app.
}

Praktik terbaik

Ikuti aturan ini saat memuat iklan.

  • Aplikasi yang menggunakan iklan native dalam daftar harus melakukan precache daftar iklan.

  • Saat menyimpan iklan ke dalam cache, hapus cache lalu muat ulang setelah satu jam.

  • Jangan panggil loadRequest: lagi pada GADAdLoader sampai permintaan sebelumnya selesai dimuat, seperti yang ditunjukkan oleh adLoaderDidFinishLoading:.

Menampilkan iklan

Setelah iklan dimuat, Anda hanya perlu menampilkannya kepada pengguna. Buka panduan Native Advanced kami untuk melihat caranya.