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 sonraki bir sürümü
- Başlangıç kılavuzunu tamamlayın
Reklam yükleme
Özel olarak oluşturulmuş yerel reklamlar GADAdLoader
nesneleri aracılığıyla yüklenir. GADAdLoader
nesnesi, banner veya yerel reklamla sonuçlanabilecek reklam istekleri yapacak şekilde de yapılandırılabilir. GADAdLoader
nesnesini oluştururken GADAdLoaderAdTypeNative
gibi yerel reklam türleriyle birlikte adTypes
dizisi parametresine GADAdLoaderAdTypeGAMBanner
eklenmesi, banner reklamların isteği karşılamak için yerel reklamlarla rekabet etmesi gerektiğini belirtir.
Swift
adLoader = GADAdLoader(adUnitID: "/6499/example/nativeandbanner", rootViewController: self, adTypes: [.native, .gamBanner], options: [... ad loader options objects ...]) adLoader.delegate = self
Objective-C
self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/6499/example/nativeandbanner" rootViewController:rootViewController adTypes:@[ GADAdLoaderAdTypeNative, GADAdLoaderAdTypeGAMBanner ] options:@[ ... ad loader options objects ... ]]; self.adLoader.delegate = self;
GAMBannerAdLoaderDelegate
GADAdLoader
üzerinden banner reklamlar istenirken, reklam yükleyici yetkisi GAMBannerAdLoaderDelegate
protokolüne uygun olmalı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 yetkilisi, validBannerSizesForAdLoader
mesajına aşağıda gösterildiği gibi 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
başlatılırken enableManualImpressions
değerini YES
olarak ayarlayarak GAMBannerViewOptions
ayarını yapın.
Swift
let bannerViewOptions = GAMBannerViewOptions() bannerViewOptions.enableManualImpressions = true adLoader = GADAdLoader( adUnitID: "/6499/example/nativeandbanner", rootViewController: self, adTypes: [.native, .gamBanner], options: [bannerViewOptions])
Objective-C
GAMBannerViewOptions *bannerViewOptions = [[GAMBannerViewOptions alloc] init]; bannerViewOptions.enableManualImpressions = YES; self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/6499/example/nativeandbanner" rootViewController:self adTypes:@[ GADAdLoaderAdTypeNative, GADAdLoaderAdTypeGAMBanner ] options:@[ bannerViewOptions ]];
Bir banner reklam yüklenirse bir reklamın başarıyla döndürüldüğünü ve gösterimi manuel olarak tetiklemek için ekranda olduğunu belirlediğinizde recordManualImpression
yöntemini çağırabilirsiniz.
Swift
bannerView.recordImpression()
Objective-C
[self.bannerView recordImpression];