Ö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 tamamlama

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 dizisi parametresine adTypes eklenmesi ve GADAdLoader nesnesi oluşturulurken GADAdLoaderAdTypeNative gibi yerel reklam türlerinin kullanılması, isteğin karşılanması 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 reklamlar 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];