Chỉ định kiểu gốc

Chế độ cài đặt kiểu gốc cho phép Google Ad Manager xử lý việc kết xuất quảng cáo gốc dựa trên các kiểu gốc mà bạn chỉ định trong sản phẩm. Trước tiên, hãy chỉ định kích thước và tiêu chí nhắm mục tiêu. Sau đó, hãy thêm HTML, CSS và JavaScript để xác định những quảng cáo thích ứng và tạo ra một quảng cáo chất lượng trên tất cả màn hình. Bạn không cần phải thực hiện bất kỳ thao tác kết xuất nào; Ad Manager sẽ tự động áp dụng kiểu gốc phù hợp cho đích đến. Kiểu gốc được triển khai giống như quảng cáo biểu ngữ, bằng cách sử dụng GAMBannerView. Bạn có thể sử dụng kiểu gốc với kích thước quảng cáo cố định được xác định trước hoặc kích thước quảng cáo linh hoạt được xác định trong thời gian chạy.

Điều kiện tiên quyết

  • Google Mobile Ads SDK phiên bản 7.14.0 trở lên

Hướng dẫn này giả định rằng bạn đã có một số kiến thức thực tế về Google Mobile Ads SDK. Nếu bạn chưa làm việc này, hãy cân nhắc xem hướng dẫn Bắt đầu.

Kích thước cố định

Kiểu gốc có kích thước cố định cho phép bạn kiểm soát chiều rộng và chiều cao của quảng cáo gốc.

Để đặt kích thước cố định, hãy làm theo các bước sau:

Đặt kích thước quảng cáo nhỏ hơn hoặc bằng kích thước màn hình thiết bị. Để xác định kích thước màn hình tối đa trên iOS 26 trở lên, hãy sử dụng thuộc tính UIWindowScene.effectiveGeometry.coordinateSpace. Trên iOS 18 trở xuống, hãy sử dụng thuộc tính UIWindowScene.coordinateSpace. Để biết thông tin chi tiết về các hạn chế về kích thước, hãy xem bài viết Khắc phục sự cố về lượt hiển thị không được đáp ứng trong Ad Manager.

  1. Tạo một mục hàng trong giao diện người dùng Ad Manager và chọn một trong các kích thước được xác định trước trong trình đơn thả xuống của trường Size.

  2. Trong Trình tạo giao diện, hãy đặt chiều rộng và chiều cao của GAMBannerView sao cho khớp với kích thước được xác định trước mà bạn đã chọn ở bước 1. Bạn có thể xem a danh sách các kích thước và hằng số GADAdSize tương ứng trong phần Kích thước biểu ngữ.

Việc triển khai kiểu gốc có kích thước cố định cũng đơn giản như làm theo hướng dẫn trong Yêu cầu biểu ngữ đầu tiên, nhưng bạn sẽ có được sự linh hoạt và khả năng kiểm soát HTML, CSS và JavaScript để quảng cáo biểu ngữ có giao diện gốc tự nhiên trong ứng dụng của bạn.

Kích thước linh hoạt

Trong một số trường hợp, kích thước cố định có thể không phù hợp. Ví dụ: bạn có thể muốn chiều rộng của quảng cáo khớp với nội dung của ứng dụng, nhưng cần chiều cao của quảng cáo tự động điều chỉnh cho phù hợp với nội dung của quảng cáo. Để xử lý trường hợp này, bạn có thể chỉ định Fluid làm kích thước quảng cáo trong giao diện người dùng Ad Manager. Điều này cho biết rằng kích thước của quảng cáo được xác định trong thời gian chạy trong ứng dụng. SDK cung cấp một hằng số GADAdSize đặc biệt là kGADAdSizeFluid, để xử lý trường hợp này. Chiều cao của kích thước quảng cáo linh hoạt được xác định một cách linh hoạt dựa trên chiều rộng do nhà xuất bản xác định, cho phép GAMBannerView, điều chỉnh chiều cao cho phù hợp với chiều cao của mẫu quảng cáo.

Yêu cầu linh hoạt

Không giống như các định dạng quảng cáo khác, kích thước quảng cáo kGADAdSizeFluid không có chiều rộng được xác định trước, vì vậy, hãy nhớ đặt rõ ràng chiều rộng khung của biểu ngữ trong mã hoặc trong Trình tạo giao diện. Nếu bạn không chỉ định chiều rộng, thì theo mặc định, SDK sẽ đặt chiều cao của biểu ngữ dựa trên chiều rộng đầy đủ của thiết bị.

Nếu bạn đưa ra yêu cầu nhiều kích thước bao gồm kGADAdSizeFluid, thì quảng cáo được trả về sẽ luôn được đặt bên trong vùng chứa linh hoạt và hoạt động như một quảng cáo linh hoạt. Trong trường hợp một mẫu quảng cáo không linh hoạt được trả về trong vùng chứa linh hoạt này, SDK sẽ căn giữa quảng cáo trong vùng chứa để bạn không phải sửa đổi ràng buộc về chiều rộng mỗi khi một quảng cáo mới được trả về.

Cách triển khai để đưa ra yêu cầu linh hoạt một kích thước và nhiều kích thước rất giống nhau; điểm khác biệt duy nhất là đối với yêu cầu nhiều kích thước, bạn đặt thuộc tính validAdSizes để chỉ định các kích thước quảng cáo hợp lệ cho yêu cầu quảng cáo:

Swift

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

Objective-C

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

Sau đây là cách triển khai đầy đủ trong mã:

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

Để xem ví dụ về cách triển khai kích thước quảng cáo linh hoạt của Ad Manager, hãy tải ứng dụng minh họa iOS API xuống bằng Swift hoặc Objective-C.

Tải bản minh hoạ API xuống

Giao thức GADAdSizeDelegate

Bạn có thể muốn biết chiều cao của biểu ngữ trước khi kích thước quảng cáo của biểu ngữ thay đổi. Lệnh gọi lại adView:willChangeAdSizeTo: sẽ thông báo cho đại diện của lệnh gọi lại này trước khi chế độ xem biểu ngữ thay đổi thành GADAdSize mới. Để được thông báo trước khi chế độ xem biểu ngữ thay đổi thành kích thước quảng cáo mới, lớp của bạn phải tuân thủ giao thức GADAdSizeDelegate.

Sau đây là ví dụ về cách triển khai lệnh gọi lại adView:willChangeAdSizeTo: cho biết cách lấy chiều rộng và chiều cao mới của biểu ngữ:

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