Özel Oluşturulan Yerel Reklam ve Banner Reklam İsteklerini Birleştirme

Kodunuzda birkaç değişiklik yaparak reklam isteklerinizde yerel ve banner reklamları birleştirebilirsiniz.

Ön koşullar

  • Google Mobile Ads SDK'sının 7.20.0 veya daha yeni bir sürümü
  • Başlangıç kılavuzunu tamamlayın

Reklam yükleme

Özel olarak oluşturulan doğal reklamlar, GADAdLoader öğeleri aracılığıyla yüklenir. GADAdLoader nesnesi, banner veya yerel reklamla sonuçlanabilecek reklam istekleri gönderecek şekilde de yapılandırılabilir. GADAdLoader nesnesini oluştururken adTypes dizi parametresine GADAdLoaderAdTypeGAMBanner ve GADAdLoaderAdTypeNative gibi yerel reklam türleri eklemek, banner reklamların isteği karşılamak için yerel reklamlarla rekabet etmesi gerektiğini belirtir.

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 üzerinden banner reklam isteğinde bulunurken reklam yükleyici temsilcisi GAMBannerAdLoaderDelegate protokolüne uymalıdır. Bu protokol, bir banner reklam yüklendiğinde gönderilen bir mesaj içerir:

Swift

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

Objective-C

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

Reklam yükleyici temsilcisi, aşağıda gösterildiği gibi validBannerSizesForAdLoader mesajına yanıt vererek hangi banner reklam boyutlarının isteneceğini de belirtmelidir.

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

Manuel gösterim sayımı

GADAdLoader aracılığıyla yüklenen banner reklamlarda manuel gösterim sayımını etkinleştirmek için GADAdLoader'yi başlatırken enableManualImpressions'yi YES olarak ayarlayarak bir GAMBannerViewOptions ayarlayın.

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

Bir banner reklam yüklenirse bir reklamın başarıyla döndürüldüğünü ve ekranda olduğunu belirlediğinizde gösterimi manuel olarak tetiklemek için recordManualImpression işlevini çağırabilirsiniz:

Swift

bannerView.recordImpression()

Objective-C

[self.bannerView recordImpression];