ترکیب سفارشی رندر شده تبلیغات بومی و درخواست های تبلیغات بنری

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

پیش‌نیازها

  • نسخه ۷.۲۰.۰ یا بالاتر از SDK تبلیغات موبایلی گوگل
  • راهنمای شروع به کار را تکمیل کنید

بارگیری یک تبلیغ

تبلیغات بومی رندر شده سفارشی از طریق اشیاء GADAdLoader بارگذاری می‌شوند. شیء GADAdLoader همچنین می‌تواند طوری پیکربندی شود که درخواست‌های تبلیغاتی را ایجاد کند که می‌تواند منجر به بنر یا تبلیغ بومی شود. اضافه کردن GADAdLoaderAdTypeGAMBanner به پارامتر آرایه adTypes ، همراه با انواع تبلیغات بومی مانند GADAdLoaderAdTypeNative هنگام ایجاد شیء GADAdLoader ، مشخص می‌کند که تبلیغات بنری باید برای پر کردن درخواست با تبلیغات بومی رقابت کنند.

سویفت

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;

نماینده GAMBannerAdLoader

هنگام درخواست تبلیغات بنری از طریق GADAdLoader ، نماینده‌ی بارگذاری تبلیغات باید با پروتکل GAMBannerAdLoaderDelegate مطابقت داشته باشد. این پروتکل شامل پیامی است که هنگام بارگذاری یک بنر تبلیغاتی ارسال می‌شود:

سویفت

public func adLoader(_ adLoader: GADAdLoader,
    didReceive GAMBannerView: GAMBannerView)

هدف-سی

- (void)adLoader:(GADAdLoader *)adLoader didReceiveGAMBannerView:(GAMBannerView *)bannerView;

نماینده‌ی بارگذاری تبلیغات همچنین باید با پاسخ به پیام validBannerSizesForAdLoader ، همانطور که در زیر نشان داده شده است، مشخص کند که کدام اندازه‌های بنر تبلیغاتی باید درخواست شوند.

سویفت

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

شمارش دستی برداشت

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

سویفت

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 را فراخوانی کنید تا به صورت دستی یک نمایش ایجاد شود:

سویفت

bannerView.recordImpression()

هدف-سی

[self.bannerView recordImpression];