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

כמה שינויים בקוד תוכלו לשלב בין מודעות מותאמות לבין מודעות באנר בבקשות למודעות.

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

  • גרסה 7.20.0 ואילך של Google Mobile Ads SDK
  • ביצוע ההוראות המפורטות במדריך תחילת העבודה

המערכת טוענת מודעה

מודעות מותאמות שמעובדות בהתאמה אישית נטענות באמצעות אובייקטים מסוג GADAdLoader. ניתן גם להגדיר את האובייקט GADAdLoader כך שיבצע בקשות להצגת מודעות שיכולות להוביל להצגה של מודעת באנר או של מודעה מותאמת. הוספת הערך GADAdLoaderAdTypeGAMBanner לפרמטר המערך adTypes, יחד עם סוגים של מודעות מותאמות כמו GADAdLoaderAdTypeNative בעת יצירת האובייקט GADAdLoader, מציינת שמודעות באנר צריכות להתחרות במודעות מותאמות על מנת למלא את הבקשה.

Swift

adLoader = GADAdLoader(adUnitID: "/6499/example/nativeandbanner",
    rootViewController: self,
    adTypes: [.native, .gamBanner],
    options: [... ad loader options objects ...])
adLoader.delegate = self

Objective-C

self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/6499/example/nativeandbanner"
    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: "/6499/example/nativeandbanner", rootViewController: self,
  adTypes: [.native, .gamBanner], options: [bannerViewOptions])

Objective-C

GAMBannerViewOptions *bannerViewOptions = [[GAMBannerViewOptions alloc] init];
bannerViewOptions.enableManualImpressions = YES;
self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/6499/example/nativeandbanner"
    rootViewController:self
               adTypes:@[ GADAdLoaderAdTypeNative, GADAdLoaderAdTypeGAMBanner ]
               options:@[ bannerViewOptions ]];

אם מודעת באנר נטענת, תוכלו להפעיל את recordManualImpression אחרי שתבדקו שהמודעה הוחזרה בהצלחה ומופיעה במסך כדי להפעיל חשיפה באופן ידני:

Swift

bannerView.recordImpression()

Objective-C

[self.bannerView recordImpression];