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