בעזרת כמה שינויים בקוד, אפשר לשלב מודעות מותאמות ומודעות באנר בבקשות להצגת מודעות.
דרישות מוקדמות
- גרסה 7.20.0 ואילך של Google Mobile Ads SDK.
- מגדירים את Google Mobile Ads SDK.
טעינת מודעה
מודעות מותאמות שעברו עיבוד בהתאמה אישית נטענות באמצעות אובייקטים של GADAdLoader. אפשר גם להגדיר את האובייקט GADAdLoader כך שישלח בקשות להצגת מודעות שיכולות להניב מודעת באנר או מודעה מותאמת. כשיוצרים את האובייקט GADAdLoader, הוספה של GADAdLoaderAdTypeGAMBanner לפרמטר המערך adTypes, יחד עם סוגי מודעות מותאמות כמו GADAdLoaderAdTypeNative, מציינת שמודעות באנר צריכות להתחרות במודעות מותאמות כדי למלא את הבקשה.
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;
בנוסף, ה-delegate של טוען המודעות צריך לציין את הגדלים של מודעות הבאנר שצריך לבקש, על ידי מענה להודעה 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))) ]; }
הגדרת גודל מודעה שקטן מגודל המסך של המכשיר או שווה לו.
כדי לקבוע את גודל המסך המקסימלי ב-iOS 26 ואילך, משתמשים במאפיין UIWindowScene.effectiveGeometry.coordinateSpace. ב-iOS 18 ובגרסאות קודמות, משתמשים במאפיין UIWindowScene.coordinateSpace.
פרטים על מגבלות הגודל מופיעים במאמר בנושא פתרון בעיות שקשורות לחשיפות שלא מולאו ב-Ad Manager.
ספירה ידנית של חשיפות
כדי להפעיל ספירה ידנית של חשיפות במודעות באנר שנטענות דרך 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];