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

Kodunuzda yapacağınız birkaç değişiklikle reklam isteklerinizde yerel reklamları 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şturulan doğal reklamlar, GADAdLoader nesneleri aracılığıyla yüklenir. GADAdLoader nesnesi, banner veya yerel reklamla sonuçlanabilecek reklam istekleri gönderecek şekilde de yapılandırılabilir. GADAdLoaderAdTypeGAMBanner dizisine adTypes parametresinin yanı sıra GADAdLoaderAdTypeNative gibi yerel reklam türlerini eklemek, GADAdLoader nesnesi oluşturulurken isteği karşılamak için banner reklamların 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 aracılığıyla banner reklam istenirken 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ğıdaki örnekte gösterildiği gibi validBannerSizesForAdLoader mesajına yanıt vererek hangi banner reklam boyutlarının istenmesi gerektiğ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 üzerinden yüklenen banner reklamlarda manuel gösterim sayımını etkinleştirmek için GADAdLoader başlatılırken enableManualImpressions değeri YES olarak ayarlanmış bir GAMBannerViewOptions oluşturun.

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 reklamın başarıyla döndürüldüğünü ve ekranda olduğunu belirlediğinizde recordManualImpression işlevini çağırarak gösterimi manuel olarak tetikleyebilirsiniz:

Swift

bannerView.recordImpression()

Objective-C

[self.bannerView recordImpression];