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 chút trong mã, bạn có thể kết hợp quảng cáo gốc và quảng cáo biểu ngữ trong các yêu cầu quảng cáo.

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

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 để đưa ra 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 tham 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ữ phải 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, 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;

Uỷ quyền trình tải quảng cáo cũng phải chỉ định những 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)))
  ];
}

Phương pháp 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 một 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 một lượt hiển thị theo cách thủ công:

Swift

bannerView.recordImpression()

Objective-C

[self.bannerView recordImpression];