ترکیب کردن درخواست‌های آگهی بومی با پردازنده سفارشی و آگهی برنمایی

با چند تغییر در کدتان، می‌توانید آگهی‌های بومی و برنمایی را در درخواست‌های آگهی‌تان ترکیب کنید.

پیش‌نیازها

درحال بار کردن آگهی

آگهی‌های بومی با پرداخت سفارشی ازطریق اشیاء 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

آبجکتیو-سی

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)

آبجکتیو-سی

- (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)))]
}

آبجکتیو-سی

- (NSArray *)validBannerSizesForAdLoader:(GADAdLoader *)adLoader {
  return @[
    @(GADAdSizeBanner),
    @(GADAdSizeMediumRectangle),
    @(GADAdSizeFromCGSize(CGSizeMake(120, 20)))
  ];
}

اندازه آگهی را کوچک‌تر یا مساوی اندازه صفحه‌نمایش دستگاه تنظیم کنید. برای تعیین حداکثر اندازه صفحه‌نمایش در iOS 26 و نسخه‌های جدیدتر، از ویژگی UIWindowScene.effectiveGeometry.coordinateSpace استفاده کنید. در iOS نسخه ۱۸ و قدیمی‌تر، از خصوصیت UIWindowScene.coordinateSpace استفاده کنید. برای جزئیات مربوط به محدودیت‌های اندازه، به عیب‌یابی کردن ظهورهای پرنشده در «مدیر آگهی» مراجعه کنید.

شمارش دستی ظهور

برای فعال کردن شمارش دستی ظهور در آگهی‌های برنمای بارشده ازطریق GADAdLoader، هنگام مقداردهی اولیه GADAdLoader، GAMBannerViewOptions را با تنظیم enableManualImpressions روی YES تنظیم کنید.

Swift

let bannerViewOptions = GAMBannerViewOptions()
bannerViewOptions.enableManualImpressions = true
adLoader = GADAdLoader(
  adUnitID: "/21775744923/example/native-and-banner", rootViewController: self,
  adTypes: [.native, .gamBanner], options: [bannerViewOptions])

آبجکتیو-سی

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()

آبجکتیو-سی

[self.bannerView recordImpression];