Gaya Native

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:

  1. Buat item baris di UI Ad Manager dan pilih salah satu ukuran yang telah ditentukan dari dropdown kolom Size.

  2. 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 konstanta GADAdSize 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.

Download Demo API

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;
}