Gaya Native

Pilih platform: Android iOS Flutter

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 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 yang dapat menyesuaikan 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:

  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 standar yang Anda pilih di langkah 1. Anda dapat melihat 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 masuk akal. Misalnya, Anda mungkin ingin lebar iklan sesuai dengan konten aplikasi, tetapi perlu menyesuaikan tinggi iklan 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 materi iklan.

Permintaan lancar

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 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 dalam penampung sehingga Anda tidak perlu mengubah batasan lebar setiap kali iklan baru ditampilkan.

Penerapan untuk membuat permintaan iklan adaptif 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 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 Ad Manager Fluid, download aplikasi Demo API iOS di Swift atau Objective-C.

Demo Download API

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 diberi tahu sebelum tampilan banner berubah ke ukuran iklan baru, class Anda harus sesuai dengan protokol GADAdSizeDelegate.

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