คุณรวมโฆษณาเนทีฟและโฆษณาแบนเนอร์ในคําขอโฆษณาได้ด้วยการทําการเปลี่ยนแปลงโค้ดเพียงเล็กน้อย
ข้อกำหนดเบื้องต้น
- SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google เวอร์ชัน 7.20.0 ขึ้นไป
- ทำตามคู่มือเริ่มต้นใช้งาน
การโหลดโฆษณา
ระบบจะโหลดโฆษณาเนทีฟที่แสดงผลตามที่กำหนดเองผ่านออบเจ็กต์ GADAdLoader
นอกจากนี้ คุณยังกําหนดค่าออบเจ็กต์ GADAdLoader
เพื่อส่งคําขอโฆษณาได้ ซึ่งอาจส่งผลให้เกิดโฆษณาแบนเนอร์หรือโฆษณาเนทีฟ การเพิ่ม GADAdLoaderAdTypeGAMBanner
ลงในพารามิเตอร์อาร์เรย์ adTypes
พร้อมกับประเภทโฆษณาเนทีฟ เช่น GADAdLoaderAdTypeNative
เมื่อสร้างออบเจ็กต์ GADAdLoader
จะระบุว่าโฆษณาแบนเนอร์ควรแข่งขันกับโฆษณาเนทีฟเพื่อตอบสนองคําขอ
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
เมื่อขอโฆษณาแบนเนอร์ผ่าน GADAdLoader
ผู้รับมอบสิทธิ์โปรแกรมโหลดโฆษณาต้องปฏิบัติตามโปรโตคอล GAMBannerAdLoaderDelegate
โปรโตคอลนี้มีข้อความที่ส่งเมื่อโฆษณาแบนเนอร์โหลด
Swift
public func adLoader(_ adLoader: GADAdLoader, didReceive GAMBannerView: GAMBannerView)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didReceiveGAMBannerView:(GAMBannerView *)bannerView;
ผู้รับมอบสิทธิ์ตัวโหลดโฆษณาต้องระบุขนาดโฆษณาแบนเนอร์ที่ควรขอด้วย โดยตอบกลับข้อความ validBannerSizesForAdLoader
ตามที่แสดงด้านล่าง
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))) ]; }
การนับการแสดงผลด้วยตนเอง
หากต้องการเปิดใช้การนับการแสดงผลด้วยตนเองในโฆษณาแบนเนอร์ที่โหลดผ่าน GADAdLoader
ให้ตั้งค่า GAMBannerViewOptions
โดยตั้งค่า enableManualImpressions
เป็น YES
เมื่อเริ่มต้น 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 ]];
หากโฆษณาแบนเนอร์โหลด คุณสามารถเรียก recordManualImpression
เมื่อคุณพิจารณาแล้วว่าระบบแสดงโฆษณาเรียบร้อยแล้วและโฆษณาแสดงอยู่บนหน้าจอเพื่อเรียกการแสดงผลด้วยตนเอง
Swift
bannerView.recordImpression()
Objective-C
[self.bannerView recordImpression];