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];