Kodunuzda yapacağınız birkaç değişiklikle reklam isteklerinizde yerel reklamları ve banner reklamları birleştirebilirsiniz.
Ön koşullar
- Google Mobile Ads SDK'nın 7.20.0 veya daha yeni bir sürümü.
- Kurulum Google Mobile Ads SDK.
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];