Yerel Stiller

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önetmesini sağlar. Öncelikle boyutu ve hedeflemeyi belirtin. Ardından, duyarlı olan ve tüm ekranlarda kaliteli bir görüntü sunan reklamları tanımlamak için HTML, CSS ve JavaScript ekleyin. Oluşturma işlemini yapmanız gerekmez. Ad Manager, hedef için doğru yerel stili otomatik olarak uygular. Doğal stiller, GAMBannerView kullanılarak banner reklamlar gibi uygulanır. Bunlar, önceden belirlenmiş sabit bir reklam boyutuyla veya çalışma zamanında belirlenen değişken bir reklam boyutuyla kullanılabilir.

Ö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 bilgi sahibi olduğunuz varsayılır. Henüz yapmadıysanız Başlangıç kılavuzumuzu inceleyebilirsiniz.

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. Arayüz Oluşturucu'da, GAMBannerView öğesinin genişliğini ve yüksekliğini 1. adımda seçtiğiniz önceden tanımlanmış boyuta uyacak şekilde ayarlayın. Boyutların listesini ve bunlara karşılık gelen GADAdSize sabitlerini Banner boyutu bölümünde görebilirsiniz.

Sabit boyutlu doğal stilleri uygulamak, İlk banner 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 his vermek için HTML, CSS ve JavaScript üzerinde esneklik ve kontrol sahibi olursunuz.

Değişken boyut

Bazı durumlarda sabit bir boyut kullanmak uygun 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 sığacak ş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, reklam boyutunun uygulamada çalışma zamanında belirlendiğini belirtir. SDK, bu durumu ele almak için özel bir GADAdSize sabiti (kGADAdSizeFluid) sağlar. Akıcı 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 öğesine 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, banner'ın yüksekliğini varsayılan olarak cihazın tam genişliğine göre ayarlar.

kGADAdSizeFluid içeren çok boyutlu bir istek yaparsanız döndürülen reklam her zaman değişken bir kapsayıcıya yerleştirilir ve değişken reklam gibi davranır. Bu akışkan kapsayıcıda akışkan olmayan bir reklam öğesinin döndürülmesi durumunda SDK, reklamı kapsayıcıda ortalar. Böylece, yeni bir reklam her döndürüldüğünde genişlik kısıtlamasını değiştirmeniz gerekmez.

Tek boyutlu ve çok boyutlu değişken istek oluşturma işlemi çok benzerdir. Tek fark, çok boyutlu isteklerde validAdSizes mülkünü reklam isteği için geçerli reklam boyutlarını belirtecek şekilde ayarlamanızdır:

Swift

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

Objective-C

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

Uygulamanın tamamı kodda şu şekilde görünür:

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 boyutunun örnek bir uygulamasını görmek için Swift veya Objective-C'te iOS API Demo uygulamasını indirin.

API Demo'sunu indirin

GADAdSizeDelegate protokolü

Reklam boyutu değişmeden önce banner'ın yüksekliğini öğrenmek isteyebilirsiniz. adView:willChangeAdSizeTo: geri çağırma işlevi, banner görünümü yeni GADAdSize ile değiştirilmeden önce temsilcisini bilgilendirir. 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ğinin ve yüksekliğinin nasıl alınacağını gösteren adView:willChangeAdSizeTo: callback'inin ö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;
}