Setelan gaya native
memungkinkan Google Ad Manager menangani rendering iklan native berdasarkan gaya
native yang Anda tentukan dalam produk. Pertama, tentukan ukuran dan penargetan.
Lalu, 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 akan otomatis menerapkan gaya native yang tepat
untuk tujuannya. Gaya native diterapkan seperti halnya iklan banner,
menggunakan GAMBannerView
. Iklan ini dapat digunakan dengan ukuran iklan tetap
yang ditentukan sebelumnya, atau ukuran iklan yang dapat menyesuaikan yang ditentukan saat runtime.
Prasyarat
- Google Mobile Ads SDK versi 7.14.0 atau yang lebih tinggi
Panduan ini mengasumsikan Anda memiliki pengetahuan dasar tentang Google Mobile Ads SDK. Jika Anda belum melakukannya, pertimbangkan untuk menjalankan panduan Memulai.
Ukuran tetap
Gaya native dengan ukuran tetap memungkinkan Anda mengontrol lebar dan tinggi iklan native. Untuk menetapkan ukuran tetap, ikuti langkah-langkah berikut:
Buat item baris di UI Ad Manager dan pilih salah satu ukuran yang telah ditentukan dari dropdown kolom
Size
.Di Interface Builder, setel lebar dan tinggi
GAMBannerView
agar cocok dengan ukuran standar yang Anda pilih di langkah 1. Anda dapat melihat daftar ukuran dan konstantaGADAdSize
terkaitnya di bagian Ukuran banner.
Menerapkan gaya native dengan ukuran tetap semudah mengikuti petunjuk dalam Permintaan banner pertama Anda, tetapi Anda mendapatkan fleksibilitas dan kontrol atas HTML, CSS, dan JavaScript untuk memberikan tampilan dan nuansa native pada iklan banner Anda yang alami di aplikasi Anda.
Ukuran yang dapat menyesuaikan
Terkadang, ukuran tetap mungkin tidak masuk akal. Misalnya, Anda mungkin
ingin lebar iklan sesuai dengan konten aplikasi, tetapi perlu tingginya
agar disesuaikan secara dinamis agar sesuai dengan konten iklan. Untuk menangani kasus ini,
Anda dapat menentukan Fluid
sebagai ukuran iklan di UI Ad Manager, yang
menetapkan bahwa ukuran iklan ditentukan saat runtime di aplikasi.
SDK menyediakan konstanta GADAdSize
khusus,
kGADAdSizeFluid
,
untuk menangani kasus ini. Tinggi ukuran iklan yang dapat disesuaikan ditentukan secara dinamis
berdasarkan lebar yang ditentukan penayang, sehingga memungkinkan
GAMBannerView
,
menyesuaikan tingginya agar cocok dengan tinggi materi iklan.
Permintaan yang dapat menyesuaikan
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 Anda atau di Pembuat Antarmuka. Jika lebar tidak ditentukan,
SDK secara default akan menetapkan tinggi banner berdasarkan lebar
penuh perangkat.
Jika Anda membuat permintaan beberapa ukuran yang menyertakan kGADAdSizeFluid
,
iklan yang ditampilkan akan selalu ditempatkan di dalam penampung yang dapat disesuaikan dan
berperilaku seperti iklan yang dapat menyesuaikan. Jika materi iklan yang tidak mengalir
ditampilkan dalam penampung yang dapat disesuaikan ini, SDK akan memusatkan iklan di
penampung sehingga Anda tidak perlu mengubah batasan lebar
setiap kali iklan baru ditampilkan.
Penerapan untuk membuat permintaan ukuran tunggal dan
dapat menyesuaikan multiukuran sangat mirip; satu-satunya perbedaan adalah pada permintaan
multiukuran, Anda menyetel properti validAdSizes
untuk menentukan ukuran
iklan yang valid untuk permintaan iklan:
Swift
bannerView.validAdSizes = [NSValueFromGADAdSize(kGADAdSizeFluid),
NSValueFromGADAdSize(kGADAdSizeBanner)]
Objective-C
_bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
NSValueFromGADAdSize(kGADAdSizeBanner) ];
Implementasi lengkap akan terlihat seperti berikut dalam kode:
Swift
var bannerView: GAMBannerView!
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 = GAMBannerView(adSize: kGADAdSizeFluid)
var frameRect = bannerView.frame
frameRect.size.width = view.bounds.width
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.load(GAMRequest())
}
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 implementasi ukuran iklan Ad Manager yang Dapat menyesuaikan, download aplikasi iOS API Demo 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 menjadi GADAdSize
baru. Agar diberi tahu 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 banner yang baru:
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: GADBannerView, willChangeAdSizeTo adSize: GADAdSize) {
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;
}