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 thực hiện một vài thay đổi đối với mã là 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 của mình.

Đ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

Tải quảng cáo

Quảng cáo gốc hiển thị 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 để thực hiện 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 (chẳng hạn 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 để thực hiện yêu cầu.

Swift

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

Objective-C

self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/6499/example/nativeandbanner"
    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ữ qua GADAdLoader, phương thức uỷ quyền của trình tải quảng cáo phải tuân theo giao thức GAMBannerAdLoaderDelegate. Giao thức này sẽ gửi một thông báo 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;

Phương thức uỷ quyền của 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ư hiển thị 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)))
  ];
}

Đếm số lượt hiển thị theo cách thủ công

Để bật tính năng tính lượt hiển thị theo cách thủ công cho 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 chạy GADAdLoader.

Swift

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

Objective-C

GAMBannerViewOptions *bannerViewOptions = [[GAMBannerViewOptions alloc] init];
bannerViewOptions.enableManualImpressions = YES;
self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/6499/example/nativeandbanner"
    rootViewController:self
               adTypes:@[ GADAdLoaderAdTypeNative, GADAdLoaderAdTypeGAMBanner ]
               options:@[ bannerViewOptions ]];

Nếu một 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 xuất hiện 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];