Yerel stilleri belirtme

Doğal stil ayarları, Google Ad Manager'ın ürün içinde belirttiğiniz doğal stillere göre doğal reklamlarınızın oluşturulmasını sağlamasına olanak tanır. Öncelikle boyutu ve hedeflemeyi belirtin. Ardından, duyarlı reklamları tanımlamak ve tüm ekranlarda kaliteli bir görüntü oluşturmak için HTML, CSS ve JavaScript ekleyin. Ad Manager, hedef için doğru yerel stili otomatik olarak uyguladığından herhangi bir oluşturma işlemi yapmanız gerekmez. Doğal stiller, banner reklamlar gibi GAMBannerView kullanılarak uygulanır. Önceden belirlenmiş sabit bir reklam boyutuyla veya çalışma zamanında belirlenen akışkan bir reklam boyutuyla kullanılabilirler.

Ön koşullar

  • Google Mobile Ads SDK 7.14.0 veya daha yeni bir sürüm

Bu kılavuzda, Google Mobile Ads SDK hakkında temel düzeyde bilgi sahibi olduğunuz varsayılmaktadı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 açılır listesinden önceden tanımlanmış boyutlardan birini seçin.

  2. Interface Builder'da GAMBannerView 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 size (Banner boyutu) bölümünde görebilirsiniz.

Sabit boyutlu doğal reklam stillerini uygulamak, İlk banner reklam isteğiniz bölümündeki talimatları uygulamak kadar basittir. Ancak HTML, CSS ve JavaScript üzerinde esneklik ve kontrol kazanarak banner reklamınıza uygulamanızda doğal bir görünüm ve tarz kazandırabilirsiniz.

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ın boyutunun uygulamada çalışma zamanında belirlendiğini gösterir. SDK, bu durumu ele almak için özel bir GADAdSize sabiti olan kGADAdSizeFluid değerini sağlar. Akışkan reklam boyutu yüksekliği, yayıncı tarafından tanımlanan genişliğe göre dinamik olarak belirlenir ve GAMBannerView yüksekliğini reklam öğesinin yüksekliğine uyacak şekilde ayarlamasına olanak tanır.

Akışkan 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 belirtilmemişse SDK, banner'ın yüksekliğini varsayılan olarak cihazın tam genişliğine göre ayarlar.

kGADAdSizeFluid içeren çok boyutlu bir istekte bulunursanız 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, reklamı kapsayıcıda ortalar. Böylece, yeni bir reklam döndürüldüğünde genişlik kısıtlamasını her seferinde değiştirmeniz gerekmez.

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

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 bulabilirsiniz:

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 olarak değişmeden önce temsilcisini bilgilendirir. Banner görünümü yeni reklam boyutuna geçmeden önce bildirim almak için sınıfınızın GADAdSizeDelegate protokolüne uyması gerekir.

Aşağıda, 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ı 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;
}