Setelan gaya native
memungkinkan Google Ad Manager menangani rendering iklan native Anda berdasarkan gaya native
yang Anda tentukan dalam produk. Pertama, tentukan ukuran dan penargetan.
Kemudian, tambahkan HTML, CSS, dan JavaScript untuk menentukan iklan yang responsif dan menghasilkan tampilan berkualitas di semua layar. Anda tidak perlu melakukan rendering apa pun; Ad Manager secara otomatis menerapkan gaya native yang tepat untuk tujuan. Gaya native diterapkan seperti iklan banner, menggunakan GAMBannerView. Ukuran ini dapat digunakan dengan ukuran iklan tetap yang ditentukan sebelumnya, atau ukuran iklan fleksibel yang ditentukan saat runtime.
Prasyarat
- Google Mobile Ads SDK versi 7.14.0 atau yang lebih tinggi
Panduan ini mengasumsikan pengetahuan dasar tentang Google Mobile Ads SDK. Jika Anda belum melakukannya, sebaiknya pelajari panduan Memulai kami.
Ukuran tetap
Gaya native dengan ukuran tetap memungkinkan Anda mengontrol lebar dan tinggi iklan native.
Untuk menetapkan ukuran tetap, ikuti langkah-langkah berikut:
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.
Buat item baris di UI Ad Manager dan pilih salah satu ukuran yang telah ditentukan dari dropdown kolom
Size.Di Interface Builder, tetapkan lebar dan tinggi
GAMBannerViewagar sesuai dengan ukuran standar yang Anda pilih di langkah 1. Anda dapat melihat daftar ukuran dan konstantaGADAdSizeyang sesuai di bagian Ukuran banner.
Menerapkan gaya native dengan ukuran tetap semudah mengikuti petunjuk di Permintaan banner pertama Anda, tetapi Anda mendapatkan fleksibilitas dan kontrol atas HTML, CSS, dan JavaScript untuk memberikan tampilan dan nuansa native pada iklan banner yang alami di aplikasi Anda.
Ukuran adaptif
Dalam beberapa kasus, ukuran tetap mungkin tidak masuk akal. Misalnya, Anda mungkin
ingin lebar iklan sesuai dengan konten aplikasi, tetapi tinggi iklan harus
disesuaikan secara dinamis agar sesuai dengan konten iklan. Untuk menangani kasus ini,
Anda dapat menentukan Fluid sebagai ukuran iklan di UI Ad Manager, yang
menunjukkan bahwa ukuran iklan ditentukan saat runtime di aplikasi.
SDK menyediakan konstanta GADAdSize khusus,
kGADAdSizeFluid,
untuk menangani kasus ini. Tinggi ukuran iklan fluid ditentukan secara dinamis
berdasarkan lebar yang ditentukan penayang, sehingga
GAMBannerView,
dapat menyesuaikan tingginya agar sesuai dengan tinggi materi iklan.
Permintaan lancar
Tidak seperti format iklan lainnya, ukuran iklan kGADAdSizeFluid tidak memiliki
lebar yang telah ditentukan, jadi pastikan untuk menetapkan lebar frame banner
secara eksplisit dalam kode atau di Interface Builder. Jika lebar tidak ditentukan,
SDK secara default akan menetapkan tinggi banner berdasarkan lebar
penuh perangkat.
Jika Anda membuat permintaan multi-ukuran yang menyertakan kGADAdSizeFluid,
iklan yang ditampilkan selalu ditempatkan di dalam penampung fleksibel dan
berperilaku seperti iklan fleksibel. Jika materi iklan non-fluid
ditampilkan dalam penampung fluid ini, SDK akan memusatkan iklan di
penampung sehingga Anda tidak perlu mengubah batasan lebar
setiap kali iklan baru ditampilkan.
Penerapan untuk membuat permintaan fluid satu ukuran dan multi-ukuran
sangat mirip; satu-satunya perbedaan adalah untuk permintaan
multi-ukuran, Anda menetapkan properti validAdSizes untuk menentukan ukuran
iklan yang valid untuk panggilan iklan:
Swift
bannerView.validAdSizes = [nsValue(for: AdSizeFluid), nsValue(for: AdSizeBanner)]
Objective-C
_bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
NSValueFromGADAdSize(kGADAdSizeBanner) ];
Berikut tampilan implementasi lengkap dalam kode:
Swift
var bannerView: AdManagerBannerView!
override func viewDidLoad() {
super.viewDidLoad()
// Create the GAMBannerView and set its width to a width that makes sense for your
// app. In this example, the width is set to the width of the UIViewController's
// root view.
bannerView = AdManagerBannerView(adSize: AdSizeFluid)
var frameRect = bannerView.frame
frameRect.size.width = view.bounds.width
bannerView.frame = frameRect
// Uncomment this code for a multisize fluid request.
// bannerView.validAdSizes = [nsValue(for: AdSizeFluid), nsValue(for: AdSizeBanner)]
bannerView.adUnitID = "YOUR_AD_UNIT_ID"
bannerView.rootViewController = self
// Make the ad request.
bannerView.load(AdManagerRequest())
}
Objective-C
GAMBannerView *_bannerView;
- (void)viewDidLoad {
[super viewDidLoad];
// Create the GAMBannerView and set its width to a width that makes sense for your
// app. In this example, the width is set to the width of the UIViewController's
// root view.
_bannerView = [[GAMBannerView alloc] initWithAdSize:kGADAdSizeFluid];
CGRect frameRect = _bannerView.frame;
frameRect.size.width = CGRectGetWidth(self.view.bounds);
_bannerView.frame = frameRect;
// Uncomment this code for a multisize fluid request.
// _bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
// NSValueFromGADAdSize(kGADAdSizeBanner) ];
_bannerView.adUnitID = @"YOUR_AD_UNIT_ID";
_bannerView.rootViewController = self;
// Make the ad request.
[_bannerView loadRequest:[GAMRequest request]];
}
Untuk melihat contoh penerapan ukuran iklan Adaptif Ad Manager, download aplikasi Demo API iOS di Swift atau Objective-C.
Protokol GADAdSizeDelegate
Anda mungkin ingin mengetahui tinggi banner sebelum ukuran iklannya berubah.
Callback adView:willChangeAdSizeTo: memberi tahu delegasinya sebelum
tampilan banner berubah ke GADAdSize baru. Agar dapat menerima notifikasi sebelum
tampilan banner berubah ke ukuran iklan baru, class Anda harus sesuai dengan
protokol GADAdSizeDelegate.
Berikut adalah contoh implementasi callback adView:willChangeAdSizeTo:
yang menunjukkan cara mendapatkan lebar dan tinggi baru banner:
Swift
// To be notified before the banner's ad size changes, your view controller class must
// conform to the GADAdSizeDelegate protocol.
bannerView.adSizeDelegate = self
// MARK: - GADAdSizeDelegate
func adView(_ bannerView: BannerView, willChangeAdSizeTo adSize: AdSize) {
let height = adSize.size.height
let width = adSize.size.width
}
Objective-C
// To be notified before the banner's ad size changes, your view controller class must
// conform to the GADAdSizeDelegate protocol.
_bannerView.adSizeDelegate = self;
#pragma mark - GADAdSizeDelegate
- (void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)adSize {
CGFloat height = adSize.size.height;
CGFloat width = adSize.size.width;
}