Kết hợp yêu cầu quảng cáo biểu ngữ và quảng cáo gốc hiển thị tuỳ chỉnh

Chỉ cần thay đổi một vài dòng mã, bạn có thể kết hợp quảng cáo gốc và quảng cáo biểu ngữ trong yêu cầu quảng cáo.

Đ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.20.0 trở lên
  • Xem hết hướng dẫn Bắt đầu sử dụng

Đang tải quảng cáo

Quảng cáo gốc được kết xuất tuỳ chỉnh được tải thông qua các đối tượng GADAdLoader. Bạn cũng có thể định cấu hình đối tượng GADAdLoader để tạo các yêu cầu quảng cáo có thể dẫn đến quảng cáo biểu ngữ hoặc quảng cáo gốc. Việc thêm GADAdLoaderAdTypeGAMBanner vào thông số mảng adTypes, cùng với các loại quảng cáo gốc như GADAdLoaderAdTypeNative khi tạo đối tượng GADAdLoader sẽ chỉ định rằng quảng cáo biểu ngữ sẽ cạnh tranh với quảng cáo gốc để đáp ứng yêu cầu.

Swift

adLoader = GADAdLoader(adUnitID: "/21775744923/example/native-and-banner",
    rootViewController: self,
    adTypes: [.native, .gamBanner],
    options: [... ad loader options objects ...])
adLoader.delegate = self

Objective-C

self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/21775744923/example/native-and-banner"
    rootViewController:rootViewController
               adTypes:@[ GADAdLoaderAdTypeNative, GADAdLoaderAdTypeGAMBanner ]
               options:@[ ... ad loader options objects ... ]];
self.adLoader.delegate = self;

GAMBannerAdLoaderDelegate

Khi yêu cầu quảng cáo biểu ngữ thông qua GADAdLoader, thực thể uỷ quyền trình tải quảng cáo phải tuân thủ giao thức GAMBannerAdLoaderDelegate. Giao thức này bao gồm một thông báo được gửi khi quảng cáo biểu ngữ đã tải xong:

Swift

public func adLoader(_ adLoader: GADAdLoader,
    didReceive GAMBannerView: GAMBannerView)

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader didReceiveGAMBannerView:(GAMBannerView *)bannerView;

Trình uỷ quyền trình tải quảng cáo cũng phải chỉ định kích thước quảng cáo biểu ngữ cần được yêu cầu bằng cách phản hồi thông báo validBannerSizesForAdLoader như minh hoạ bên dưới.

Swift

public func validBannerSizes(for adLoader: GADAdLoader) -> [NSValue] {
  return [NSValueFromGADAdSize(GADAdSizeBanner),
    NSValueFromGADAdSize(GADAdSizeMediumRectangle),
    NSValueFromGADAdSize(GADAdSizeFromCGSize(CGSize(width: 120, height: 20)))]
}

Objective-C

- (NSArray *)validBannerSizesForAdLoader:(GADAdLoader *)adLoader {
  return @[
    @(GADAdSizeBanner),
    @(GADAdSizeMediumRectangle),
    @(GADAdSizeFromCGSize(CGSizeMake(120, 20)))
  ];
}

Tính số lượt hiển thị theo cách thủ công

Để bật tính năng đếm lượt hiển thị thủ công trên quảng cáo biểu ngữ được tải thông qua GADAdLoader, hãy đặt GAMBannerViewOptions với enableManualImpressions được đặt thành YES khi khởi tạo GADAdLoader.

Swift

let bannerViewOptions = GAMBannerViewOptions()
bannerViewOptions.enableManualImpressions = true
adLoader = GADAdLoader(
  adUnitID: "/21775744923/example/native-and-banner", rootViewController: self,
  adTypes: [.native, .gamBanner], options: [bannerViewOptions])

Objective-C

GAMBannerViewOptions *bannerViewOptions = [[GAMBannerViewOptions alloc] init];
bannerViewOptions.enableManualImpressions = YES;
self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/21775744923/example/native-and-banner"
    rootViewController:self
               adTypes:@[ GADAdLoaderAdTypeNative, GADAdLoaderAdTypeGAMBanner ]
               options:@[ bannerViewOptions ]];

Nếu quảng cáo biểu ngữ tải, bạn có thể gọi recordManualImpression khi xác định rằng quảng cáo đã được trả về thành công và đang hiển thị trên màn hình để kích hoạt lượt hiển thị theo cách thủ công:

Swift

bannerView.recordImpression()

Objective-C

[self.bannerView recordImpression];