Ö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 sonraki bir sürümü
  • Başlangıç kılavuzunu tamamlayın

Reklam yükleme

Özel olarak oluşturulmuş yerel reklamlar GADAdLoader nesneleri aracılığıyla yüklenir. GADAdLoader nesnesi, banner veya yerel reklamla sonuçlanabilecek reklam istekleri yapacak şekilde de yapılandırılabilir. GADAdLoader nesnesini oluştururken GADAdLoaderAdTypeNative gibi yerel reklam türleriyle birlikte adTypes dizisi parametresine GADAdLoaderAdTypeGAMBanner eklenmesi, banner reklamların isteği karşılamak için yerel reklamlarla rekabet etmesi gerektiğini belirtir.

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 üzerinden banner reklamlar istenirken, reklam yükleyici yetkisi GAMBannerAdLoaderDelegate protokolüne uygun olmalı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 yetkilisi, validBannerSizesForAdLoader mesajına aşağıda gösterildiği gibi 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 başlatılırken enableManualImpressions değerini YES olarak ayarlayarak GAMBannerViewOptions ayarını yapın.

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

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

Swift

bannerView.recordImpression()

Objective-C

[self.bannerView recordImpression];