שילוב בקשות למודעות מותאמות ולבקשות למודעות באנר מותאמות אישית

בעזרת כמה שינויים בקוד, תוכלו לשלב מודעות מותאמות ומודעות באנר בבקשות להצגת מודעות.

דרישות מוקדמות

טעינת מודעה

מודעות מותאמות שעברו עיבוד בהתאמה אישית נטענות באמצעות אובייקטים של 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;

בנוסף, נציג טעינת המודעות צריך לציין אילו גדלים של מודעות באנר צריך לבקש בתגובה להודעה 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];