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 tamamlayın.
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 dizisine adTypes parametresinin yanı sıra GADAdLoaderAdTypeNative gibi yerel reklam türlerini eklemek, GADAdLoader nesnesi oluşturulurken isteği karşılamak 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 reklam 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];