Yerel Stiller

Platform seçin: Android iOS Flutter

Doğal stil ayarları, Google Ad Manager'ın yerel reklamlarınızın oluşturulmasını üründe belirttiğiniz doğal stillere göre yürütmesini sağlar. Öncelikle boyutu ve hedeflemeyi belirtin. Ardından, duyarlı reklamlar tanımlamak ve tüm ekranlarda kaliteli bir görüntü elde etmek için HTML, CSS ve JavaScript ekleyin. Oluşturma işlemini sizin yapmanız gerekmez. Ad Manager, hedef için doğru yerel stili otomatik olarak uygular. Doğal reklam stilleri, banner reklamlar gibi GAMBannerView kullanılarak uygulanır. Önceden belirlenmiş sabit bir reklam boyutuyla veya çalışma zamanında belirlenen değişken bir reklam boyutuyla kullanılabilirler.

Ön koşullar

  • Google Mobile Ads SDK'sı 7.14.0 veya daha sonraki bir sürüm

Bu kılavuzda, Google Mobile Ads SDK'sı hakkında temel düzeyde bilgi sahibi olduğunuz varsayılır. Henüz yapmadıysanız Başlangıç kılavuzumuzu inceleyin.

Sabit boyut

Sabit boyutlu yerel stiller, yerel reklamın genişliğini ve yüksekliğini kontrol etmenize olanak tanır. Sabit bir boyut ayarlamak için aşağıdaki adımları uygulayın:

  1. Ad Manager kullanıcı arayüzünde bir satır öğesi oluşturun ve Size alanının açılır listesinden önceden tanımlanmış boyutlardan birini seçin.

  2. Interface Builder'da GAMBannerView öğesinin genişliğini ve yüksekliğini, 1. adımda seçtiğiniz önceden tanımlanmış boyuta uygun şekilde ayarlayın. Boyutların ve bunlara karşılık gelen GADAdSize sabitlerinin listesini Banner boyutu bölümünde görebilirsiniz.

Sabit boyutlu yerel stilleri uygulamak, İlk banner reklam isteğiniz bölümündeki talimatları uygulamak kadar basittir. Ancak banner reklamınıza uygulamanızda doğal bir görünüm ve tarz kazandırmak için HTML, CSS ve JavaScript üzerinde esneklik ve kontrol elde edersiniz.

Değişken boyut

Bazı durumlarda sabit bir boyut mantıklı olmayabilir. Örneğin, reklamın genişliğinin uygulamanızın içeriğiyle eşleşmesini isteyebilirsiniz ancak yüksekliğinin reklamın içeriğine uyacak şekilde dinamik olarak ayarlanması gerekebilir. Bu durumu ele almak için Ad Manager kullanıcı arayüzünde reklam boyutu olarak Fluid değerini belirtebilirsiniz. Bu değer, reklam boyutunun uygulamada çalışma zamanında belirlendiğini gösterir. SDK, bu durumu ele almak için özel bir GADAdSize sabiti (kGADAdSizeFluid) sağlar. Akışkan reklam boyutu yüksekliği, yayıncı tarafından tanımlanan genişliğe göre dinamik olarak belirlenir. Bu sayede GAMBannerView, yüksekliğini reklam öğesinin yüksekliğine uyacak şekilde ayarlayabilir.

Değişken istek

Diğer reklam biçimlerinin aksine, kGADAdSizeFluid reklam boyutunun önceden tanımlanmış bir genişliği yoktur. Bu nedenle, banner'ın çerçeve genişliğini kodunuzda veya Interface Builder'da açıkça ayarladığınızdan emin olun. Genişlik belirtilmezse SDK, varsayılan olarak banner'ın yüksekliğini cihazın tam genişliğine göre ayarlar.

kGADAdSizeFluid içeren çok boyutlu bir istek gönderirseniz döndürülen reklam her zaman değişken bir kapsayıcının içine yerleştirilir ve değişken bir reklam gibi davranır. Bu akışkan kapsayıcıda akışkan olmayan bir reklam öğesi döndürülürse SDK, yeni bir reklam döndürüldüğünde genişlik kısıtlamasını her seferinde değiştirmeniz gerekmemesi için reklamı kapsayıcıda ortalar.

Tek boyutlu ve çok boyutlu değişken istek oluşturma uygulaması çok benzerdir. Tek fark, çok boyutlu istekte validAdSizes özelliğini ayarlayarak reklam isteği için geçerli olan reklam boyutlarını belirtmenizdir:

Swift

bannerView.validAdSizes = [nsValue(for: AdSizeFluid), nsValue(for: AdSizeBanner)]

Objective-C

_bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
                              NSValueFromGADAdSize(kGADAdSizeBanner) ];

Tam uygulamanın kodda nasıl göründüğünü aşağıda görebilirsiniz:

Swift

var bannerView: AdManagerBannerView!

override func viewDidLoad() {
super.viewDidLoad()
  // Create the GAMBannerView and set its width to a width that makes sense for your
  // app. In this example, the width is set to the width of the UIViewController's
  // root view.
  bannerView = AdManagerBannerView(adSize: AdSizeFluid)
  var frameRect = bannerView.frame
  frameRect.size.width = view.bounds.width
  bannerView.frame = frameRect

  // Uncomment this code for a multisize fluid request.
  // bannerView.validAdSizes = [nsValue(for: AdSizeFluid), nsValue(for: AdSizeBanner)]

  bannerView.adUnitID = "YOUR_AD_UNIT_ID"
  bannerView.rootViewController = self

  // Make the ad request.
  bannerView.load(AdManagerRequest())
}

Objective-C

GAMBannerView *_bannerView;

- (void)viewDidLoad {
  [super viewDidLoad];
  // Create the GAMBannerView and set its width to a width that makes sense for your
  // app. In this example, the width is set to the width of the UIViewController's
  // root view.
  _bannerView = [[GAMBannerView alloc] initWithAdSize:kGADAdSizeFluid];
  CGRect frameRect = _bannerView.frame;
  frameRect.size.width = CGRectGetWidth(self.view.bounds);
  _bannerView.frame = frameRect;

  // Uncomment this code for a multisize fluid request.
  // _bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
  //                               NSValueFromGADAdSize(kGADAdSizeBanner) ];

  _bannerView.adUnitID = @"YOUR_AD_UNIT_ID";
  _bannerView.rootViewController = self;

  // Make the ad request.
  [_bannerView loadRequest:[GAMRequest request]];
}

Ad Manager değişken reklam boyutuyla ilgili örnek bir uygulama görmek için Swift veya Objective-C'de iOS API Demo uygulamasını indirin.

API demosunu indirin

GADAdSizeDelegate protokolü

Reklam boyutu değişmeden önce bir banner'ın yüksekliğini bilmek isteyebilirsiniz. adView:willChangeAdSizeTo: geri araması, banner görünümü yeni GADAdSize'ye değişmeden önce temsilcisine bildirim gönderir. Banner görünümü yeni reklam boyutuna değişmeden önce bildirim almak için sınıfınızın GADAdSizeDelegate protokolüne uygun olması gerekir.

Banner'ın yeni genişliğini ve yüksekliğini nasıl alacağınızı gösteren adView:willChangeAdSizeTo: geri çağırma işlevinin örnek bir uygulaması aşağıda verilmiştir:

Swift

// To be notified before the banner's ad size changes, your view controller class must
// conform to the GADAdSizeDelegate protocol.
bannerView.adSizeDelegate = self

// MARK: - GADAdSizeDelegate

func adView(_ bannerView: BannerView, willChangeAdSizeTo adSize: AdSize) {
  let height = adSize.size.height
  let width = adSize.size.width
}

Objective-C

// To be notified before the banner's ad size changes, your view controller class must
// conform to the GADAdSizeDelegate protocol.
_bannerView.adSizeDelegate = self;

#pragma mark - GADAdSizeDelegate

- (void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)adSize {
  CGFloat height = adSize.size.height;
  CGFloat width = adSize.size.width;
}