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 yeni bir sürümü
- Başlangıç kılavuzunu tamamlayın
Reklam yükleme
Özel olarak oluşturulan doğal reklamlar, GADAdLoader
öğeleri aracılığıyla yüklenir. GADAdLoader
nesnesi, banner veya yerel reklamla sonuçlanabilecek reklam istekleri gönderecek şekilde de yapılandırılabilir. GADAdLoader
nesnesini oluştururken adTypes
dizi parametresine GADAdLoaderAdTypeGAMBanner
ve GADAdLoaderAdTypeNative
gibi yerel reklam türleri eklemek, banner reklamların isteği karşılamak için 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
üzerinden banner reklam isteğinde bulunurken 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 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
'yi başlatırken enableManualImpressions
'yi YES
olarak ayarlayarak 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 bir reklamın başarıyla döndürüldüğünü ve ekranda olduğunu belirlediğinizde gösterimi manuel olarak tetiklemek için recordManualImpression
işlevini çağırabilirsiniz:
Swift
bannerView.recordImpression()
Objective-C
[self.bannerView recordImpression];