Menggabungkan Permintaan Iklan Banner yang Dirender Kustom dan Iklan Banner

Melalui beberapa perubahan pada kode, Anda dapat menggabungkan iklan native dan banner dalam permintaan iklan.

Prasyarat

  • Google Mobile Ads SDK versi 7.20.0 atau yang lebih tinggi
  • Selesaikan panduan Memulai

Memuat iklan

Iklan native yang dirender secara kustom dimuat melalui objek GADAdLoader. Objek GADAdLoader juga dapat dikonfigurasi untuk membuat permintaan iklan yang dapat menghasilkan iklan native atau banner. Menambahkan GADAdLoaderAdTypeGAMBanner ke parameter array adTypes, bersama dengan jenis iklan native seperti GADAdLoaderAdTypeNative ketika membuat objek GADAdLoader menentukan bahwa iklan banner harus bersaing dengan iklan native untuk memenuhi permintaan.

Swift

adLoader = GADAdLoader(adUnitID: "/6499/example/nativeandbanner",
    rootViewController: self,
    adTypes: [.native, .gamBanner],
    options: [... ad loader options objects ...])
adLoader.delegate = self

Objective-C

self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/6499/example/nativeandbanner"
    rootViewController:rootViewController
               adTypes:@[ GADAdLoaderAdTypeNative, GADAdLoaderAdTypeGAMBanner ]
               options:@[ ... ad loader options objects ... ]];
self.adLoader.delegate = self;

GAMBannerAdLoaderDelegate

Saat meminta iklan banner melalui GADAdLoader, delegasi loader iklan harus mematuhi protokol GAMBannerAdLoaderDelegate. Protokol ini menyertakan pesan yang dikirim saat iklan banner telah dimuat:

Swift

public func adLoader(_ adLoader: GADAdLoader,
    didReceive GAMBannerView: GAMBannerView)

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader didReceiveGAMBannerView:(GAMBannerView *)bannerView;

Delegasi pemuat iklan juga harus menentukan ukuran iklan banner yang harus diminta dengan merespons pesan validBannerSizesForAdLoader seperti yang ditunjukkan di bawah ini.

Swift

public func validBannerSizes(for adLoader: GADAdLoader) -> [NSValue] {
  return [NSValueFromGADAdSize(GADAdSizeBanner),
    NSValueFromGADAdSize(GADAdSizeMediumRectangle),
    NSValueFromGADAdSize(GADAdSizeFromCGSize(CGSize(width: 120, height: 20)))]
}

Objective-C

- (NSArray *)validBannerSizesForAdLoader:(GADAdLoader *)adLoader {
  return @[
    @(GADAdSizeBanner),
    @(GADAdSizeMediumRectangle),
    @(GADAdSizeFromCGSize(CGSizeMake(120, 20)))
  ];
}

Penghitungan tayangan manual

Untuk mengaktifkan penghitungan tayangan manual pada iklan banner yang dimuat melalui GADAdLoader, tetapkan GAMBannerViewOptions dengan enableManualImpressions ditetapkan ke YES saat melakukan inisialisasi GADAdLoader.

Swift

let bannerViewOptions = GAMBannerViewOptions()
bannerViewOptions.enableManualImpressions = true
adLoader = GADAdLoader(
  adUnitID: "/6499/example/nativeandbanner", rootViewController: self,
  adTypes: [.native, .gamBanner], options: [bannerViewOptions])

Objective-C

GAMBannerViewOptions *bannerViewOptions = [[GAMBannerViewOptions alloc] init];
bannerViewOptions.enableManualImpressions = YES;
self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/6499/example/nativeandbanner"
    rootViewController:self
               adTypes:@[ GADAdLoaderAdTypeNative, GADAdLoaderAdTypeGAMBanner ]
               options:@[ bannerViewOptions ]];

Jika iklan banner dimuat, Anda dapat memanggil recordManualImpression saat menentukan bahwa iklan telah berhasil ditampilkan dan muncul di layar untuk mengaktifkan tayangan secara manual:

Swift

bannerView.recordImpression()

Objective-C

[self.bannerView recordImpression];