Menentukan 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. 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 akan otomatis menerapkan gaya native yang tepat untuk tujuan. Gaya native diterapkan seperti iklan banner, menggunakan GAMBannerView. Gaya native 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 baru

Panduan ini mengasumsikan bahwa Anda memiliki pengetahuan dasar tentang Google Mobile Ads SDK. Jika belum melakukannya, sebaiknya baca 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 sebelumnya dari dropdown kolom Size.

  2. Di Interface Builder, tetapkan lebar dan tinggi GAMBannerView agar sesuai dengan ukuran yang telah ditentukan sebelumnya yang Anda pilih di langkah 1. Anda dapat melihat a daftar ukuran dan konstanta GADAdSize yang 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 yang dapat menyesuaikan

Dalam beberapa kasus, ukuran tetap mungkin tidak sesuai. Misalnya, Anda mungkin ingin lebar iklan sesuai dengan konten aplikasi, tetapi perlu tinggi iklan untuk menyesuaikan 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 yang dapat menyesuaikan ditentukan secara dinamis berdasarkan lebar yang ditentukan penayang, sehingga GAMBannerView, dapat menyesuaikan tingginya agar sesuai dengan tinggi materi iklan.

Permintaan yang dapat menyesuaikan

Tidak seperti format iklan lainnya, ukuran iklan kGADAdSizeFluid tidak memiliki lebar yang telah ditentukan sebelumnya, jadi pastikan untuk menetapkan lebar frame banner secara eksplisit dalam kode atau di Interface Builder. Jika lebar tidak ditentukan, SDK akan menetapkan tinggi banner berdasarkan lebar penuh perangkat secara default.

Jika Anda membuat permintaan multiukuran yang menyertakan kGADAdSizeFluid, iklan yang ditampilkan akan selalu ditempatkan di dalam penampung yang dapat menyesuaikan dan berperilaku seperti iklan yang dapat menyesuaikan. Jika materi iklan yang tidak dapat menyesuaikan ditampilkan di penampung yang dapat menyesuaikan ini, SDK akan memusatkan iklan di penampung sehingga Anda tidak perlu mengubah batasan lebar setiap kali iklan baru ditampilkan.

Penerapan untuk membuat permintaan yang dapat menyesuaikan ukuran tunggal dan multiukuran sangat mirip. Satu-satunya perbedaan adalah untuk permintaan multiukuran, Anda menetapkan properti validAdSizes untuk menentukan ukuran iklan yang valid untuk permintaan iklan:

Swift

bannerView.validAdSizes = [nsValue(for: AdSizeFluid), nsValue(for: AdSizeBanner)]

Objective-C

_bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
                              NSValueFromGADAdSize(kGADAdSizeBanner) ];

Berikut tampilan penerapan 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 yang dapat menyesuaikan Ad Manager, download aplikasi Demo API iOS di Swift atau Objective-C.

Download Demo API

Protokol GADAdSizeDelegate

Anda mungkin ingin mengetahui tinggi banner sebelum ukuran iklannya berubah. Callback adView:willChangeAdSizeTo: akan memberi tahu delegasinya sebelum tampilan banner berubah ke GADAdSize baru. Agar mendapatkan notifikasi sebelum tampilan banner berubah ke ukuran iklan baru, class Anda harus sesuai dengan protokol GADAdSizeDelegate.

Berikut contoh penerapan callback adView:willChangeAdSizeTo: yang menunjukkan cara mendapatkan lebar dan tinggi banner 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: 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;
}