Kiểu gốc

Tùy chọn cài đặt kiểu gốc cho phép Google Ad Manager xử lý việc 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. Đầu 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 quảng cáo thích ứng và hiển thị chất lượng trên tất cả các màn hình. Bạn không cần phải hiển thị gì; 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 loại quảng cáo 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 trên thiết bị di động của Google 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 thực tế về SDK quảng cáo trên thiết bị di động của Google. Hãy cân nhắc chạy qua hướng dẫn Bắt đầu của chúng tôi 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ụ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 từ trình đơn thả xuống 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 danh sách các kích thước và hằng số GADAdSize tương ứng trong mục 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 của bạn, nhưng bạn có thể linh hoạt và kiểm soát được HTML, CSS và JavaScript để mang lại cho quảng cáo biểu ngữ một 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 hợp lý. Ví dụ: bạn có thể muốn chiều rộng của quảng cáo phù hợp với nội dung của ứng dụng, nhưng cần chiều cao tự động điều chỉnh cho vừa với nội dung 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, 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, kGADAdSizeFluid, để xử lý trường hợp này. Chiều cao kích thước quảng cáo linh hoạt được xác định một cách linh động 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 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ã của bạn hoặc trong Trình tạo giao diện. Nếu không chỉ định chiều rộng, SDK sẽ đặt chiều cao của biểu ngữ theo mặc định dựa trên chiều rộng đầy đủ của thiết bị.

Nếu bạn tạo một yêu cầu nhiều kích thước bao gồm kGADAdSizeFluid, thì quảng cáo trả về sẽ luôn được đặt trong vùng chứa linh hoạt và hoạt động như 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 giới hạn chiều rộng mỗi khi một quảng cáo mới được trả về.

Việc triển khai để tạo một kích thước duy nhất và một yêu cầu linh hoạt 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 kích thước quảng cáo hợp lệ cho yêu cầu quảng cáo đó:

Swift

bannerView.validAdSizes = [NSValueFromGADAdSize(kGADAdSizeFluid),
                           NSValueFromGADAdSize(kGADAdSizeBanner)]

Objective-C

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

Dưới đây là toàn bộ cấu hình triển khai trong mã:

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

Để 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 trong Swift hoặc Objective-C.

Tải API minh hoạ xuống

Giao thức GADAdSizedelegate

Bạn nê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 người được uỷ quyền 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 sang kích thước quảng cáo mới, lớp của bạn phải tuân theo giao thức GADAdSizeDelegate.

Dưới đây là cách triển khai mẫu cho 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: 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;
}