Ö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

Reklam yükleme

Özel olarak oluşturulan doğal reklamlar, GADAdLoader nesneleri aracılığıyla yüklenir. GADAdLoader nesnesi, banner veya doğal reklamla sonuçlanabilecek reklam istekleri yapacak şekilde de yapılandırılabilir. GADAdLoader nesnesini oluştururken adTypes dizi parametresine GADAdLoaderAdTypeGAMBanner ve GADAdLoaderAdTypeNative gibi doğal reklam türlerini eklemek, banner reklamların isteği karşılamak için doğal 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ğıda 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)))
  ];
}

Cihaz ekranı boyutundan küçük veya ona eşit bir reklam boyutu ayarlayın. iOS 26 ve sonraki sürümlerde maksimum ekran boyutunu belirlemek için UIWindowScene.effectiveGeometry.coordinateSpace özelliğini kullanın. iOS 18 ve önceki sürümlerde UIWindowScene.coordinateSpace özelliğini kullanın. Boyut kısıtlamalarıyla ilgili ayrıntılar için Ad Manager'da doldurulmayan gösterimlerle ilgili sorunları giderme başlıklı makaleyi inceleyin.

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, YES olarak ayarlanmış 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 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];