Kiểu gốc

Chọn nền tảng: Android iOS Flutter

Chế độ cài đặt kiểu gốc cho phép Google Ad Manager xử lý quá trình hiển thị quảng cáo gốc dựa trên 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 màn hình chất lượng trên tất cả cá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. Các 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 các kích thước này 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

  • SDK Quảng cáo của Google trên thiết bị di động phiên bản 7.14.0 trở lên

Hướng dẫn này giả định bạn đã có một số kiến thức về cách sử dụng SDK quảng cáo trên thiết bị di động của Google. Hãy xem qua hướng dẫn Bắt đầu nếu bạn chưa xem.

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:

  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 Interface Builder, hãy đặt chiều rộng và chiều cao của GAMBannerView sao cho phù hợ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 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 phần Yêu cầu biểu ngữ đầu tiên, nhưng bạn có được sự linh hoạt và khả năng kiểm soát đối với 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 để 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 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, kGADAdSizeFluid, để xử lý trường hợp này. Chiều cao của quảng cáo linh hoạt được xác định 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, 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 một yêu cầu có nhiều kích thước bao gồm kGADAdSizeFluid, quảng cáo được trả về luôn được đặt bên trong một 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ẽ đặt quảng cáo ở giữa 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ề.

Việc triển khai để đưa ra một yêu cầu linh hoạt có một kích thước và nhiều kích thước là rất giống nhau; điểm khác biệt duy nhất là đối với yêu cầu có 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à giao diện của quá trình 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 iOS API Demo xuống bằng Swift hoặc Objective-C.

Tải API Demo 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 thay đổi. Lệnh gọi lại adView:willChangeAdSizeTo: sẽ thông báo cho uỷ quyền của nó trước khi khung hiển thị biểu ngữ thay đổi thành GADAdSize mới. Để nhận được thông báo trước khi khung hiển thị 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à một 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;
}