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 bằng cách thực hiện một vài thay đổi đối với mã.
Điều kiện tiên quyết
- Phiên bản 7.20.0 trở lên của Google Mobile Ads SDK.
- Thiết lập Google Mobile Ads SDK.
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
GADAdLoader
các đối tượng. 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, thực thể đại diện của 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:
Swift
public func adLoader(_ adLoader: GADAdLoader, didReceive GAMBannerView: GAMBannerView)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didReceiveGAMBannerView:(GAMBannerView *)bannerView;
Thực thể đại diệ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 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 kích thước quảng cáo nhỏ hơn hoặc bằng kích thước màn hình thiết bị.
Để xác định kích thước màn hình tối đa trên iOS 26 trở lên, hãy sử dụng thuộc tính
UIWindowScene.effectiveGeometry.coordinateSpace. Trên iOS 18 trở xuống, hãy sử dụng thuộc tính
UIWindowScene.coordinateSpace.
Để biết thông tin chi tiết về các hạn chế về kích thước, hãy xem
bài viết Khắc phục sự cố về lượt hiển thị không được đáp ứng trong Ad Manager.
Phương pháp tính số lần hiển thị theo cách thủ công
Để bật phương pháp tính số lượt hiển thị theo cách 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 chạy 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 để tự kích hoạt một lượt hiển thị:
Swift
bannerView.recordImpression()
Objective-C
[self.bannerView recordImpression];