Dengan beberapa perubahan pada kode, Anda dapat menggabungkan iklan native dan banner dalam panggilan iklan.
Prasyarat
- Google Mobile Ads SDK versi 7.20.0 atau yang lebih tinggi.
- Siapkan Google Mobile Ads SDK.
Memuat iklan
Iklan native yang dirender kustom dimuat melalui objek
GADAdLoader. Objek GADAdLoader juga dapat dikonfigurasi untuk membuat permintaan iklan yang dapat menghasilkan iklan banner atau iklan native. Menambahkan
GADAdLoaderAdTypeGAMBanner ke parameter array adTypes, bersama dengan
jenis iklan native seperti GADAdLoaderAdTypeNative saat membuat
objek GADAdLoader menentukan bahwa iklan banner harus bersaing dengan iklan native
untuk mengisi permintaan.
Swift
adLoader = GADAdLoader(adUnitID: "/21775744923/example/native-and-banner", rootViewController: self, adTypes: [.native, .gamBanner], options: [... ad loader options objects ...]) adLoader.delegate = self
Objective-C
self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native-and-banner" 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.
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))) ]; }
Tetapkan ukuran iklan yang lebih kecil atau sama dengan ukuran layar perangkat.
Untuk menentukan ukuran layar maksimum di iOS 26 dan yang lebih baru, gunakan properti
UIWindowScene.effectiveGeometry.coordinateSpace. Di iOS 18 dan yang lebih lama, gunakan properti
UIWindowScene.coordinateSpace.
Untuk mengetahui detail tentang batasan ukuran, lihat
Memecahkan masalah tayangan iklan tidak terisi di Ad Manager.
Penghitungan tayangan iklan manual
Untuk mengaktifkan penghitungan tayangan iklan 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: "/21775744923/example/native-and-banner", rootViewController: self, adTypes: [.native, .gamBanner], options: [bannerViewOptions])
Objective-C
GAMBannerViewOptions *bannerViewOptions = [[GAMBannerViewOptions alloc] init]; bannerViewOptions.enableManualImpressions = YES; self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native-and-banner" 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 iklan secara manual:
Swift
bannerView.recordImpression()
Objective-C
[self.bannerView recordImpression];