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

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

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

טעינת מודעה

מודעות מותאמות עם עיבוד מותאם אישית נטענות באמצעות אובייקטים מסוג GADAdLoader. אפשר גם להגדיר את האובייקט GADAdLoader כך שישלח בקשות להצגת מודעות, שעשויות להוביל להצגת מודעת באנר או מודעת Native. הוספת הערך 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];