Doğal reklam yükleme

Doğal reklamlar, platforma özgü kullanıcı arayüzü bileşenleri aracılığıyla kullanıcılara sunulan reklam öğeleridir. Bu reklamlar, halihazırda senaryo panolarınızda kullandığınız sınıflar kullanılarak gösterilir ve uygulamanızın görsel tasarımına uyacak şekilde biçimlendirilebilir.

Bir doğal reklam yüklendiğinde uygulamanız, öğelerini içeren bir reklam nesnesi alır. Ardından, bu öğeleri görüntülemekten Google Mobile Ads SDK yerine uygulama sorumlu olur.

Genel olarak, doğal reklamları başarılı bir şekilde uygulamak için iki bölüm vardır: SDK'yı kullanarak reklam yükleme ve ardından reklam içeriğini uygulamanızda görüntüleme.

Bu sayfada, doğal reklamları yüklemek için SDK'nın nasıl kullanılacağı gösterilmektedir.

Ön koşullar

Devam etmeden önce Google Mobile Ads SDK'ı kurun.

Her zaman test reklamlarıyla test yapın

Uygulamalarınızı oluşturup test ederken canlı ve üretim reklamları yerine test reklamlarını kullandığınızdan emin olun.

Test reklamlarını yüklemenin en kolay yolu, iOS'teki yerel reklamlar için özel test reklam birimi kimliğimizi kullanmaktır:

/21775744923/example/native

Bu kimlik, her istek için test reklamları döndürecek şekilde özel olarak yapılandırılmıştır. Kodlama, test etme ve hata ayıklama sırasında kendi uygulamalarınızda bu kimliği kullanabilirsiniz. Uygulamanızı yayınlamadan önce bu kimliği kendi reklam birimi kimliğinizle değiştirdiğinizden emin olun.

Google Mobile Ads SDK test reklamları hakkında ayrıntılı bilgi için Test reklamlarını etkinleştirme başlıklı makaleyi inceleyin.

Reklam yükleme

Doğal reklamlar, GADAdLoader sınıfıyla yüklenir. Bu sınıf, GADAdLoaderDelegate protokolüne göre temsilcilerine mesaj gönderir.

Sistem tarafından tanımlanan doğal biçime ek olarak, doğrudan satılan doğal reklamlar için kullanılabilecek kendi özel doğal reklam biçimlerinizi de oluşturabilirsiniz. Özel doğal reklam biçimleri, uygulamanıza rastgele yapılandırılmış veriler iletmenize olanak tanır. Bu reklamlar GADCustomNativeAd sınıfıyla temsil edilir.

Reklam yükleyiciyi başlatma

Reklam yükleyebilmek için reklam yükleyiciyi başlatmanız gerekir. Aşağıdaki kodda GADAdLoader nasıl başlatılacağı gösterilmektedir:

Swift

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  // The UIViewController parameter is optional.
  rootViewController: self,
  // To receive native ads, the ad loader's delegate must
  // conform to the NativeAdLoaderDelegate protocol.
  adTypes: [.native],
  // Use nil for default options.
  options: nil)
// Set the delegate before making an ad request.
adLoader.delegate = self

nativeAdUnitID yerine reklam birimi kimliğinizi yazın.

Objective-C

self.adLoader =
    [[GADAdLoader alloc] initWithAdUnitID:"kNativeAdUnitID"
                       // The UIViewController parameter is optional.
                       rootViewController:self
                                  // To receive native ads, the ad loader's delegate must
                                  // conform to the NativeAdLoaderDelegate protocol.
                                  adTypes:@[ GADAdLoaderAdTypeNative ]
                                  // Use nil for default options.
                                  options:nil];
// Set the delegate before making an ad request.
self.adLoader.delegate = self;

kNativeAdUnitID yerine reklam birimi kimliğinizi yazın.

Bir reklam birimi kimliğine (test kimliğini kullanabilirsiniz), hangi doğal biçimleri istemek istediğinizi belirtmek için adTypes dizisine iletilecek sabitlere ve options parametresinde ayarlamak istediğiniz tüm seçeneklere ihtiyacınız vardır. options parametresinin olası değerlerinin listesini Yerel Reklam Seçeneklerini Ayarlama sayfasında bulabilirsiniz.

adTypes dizisi aşağıdaki sabitlerden birini veya daha fazlasını içermelidir :

Reklam yükleyici temsilcisini uygulama

Reklam yükleyici temsilcisinin, reklam türünüze özel protokolleri uygulaması gerekir. Doğal reklamlar için GADNativeAdLoaderDelegate protokolü, bir doğal reklam yüklendiğinde temsilciye gönderilen bir mesaj içerir.

Swift

func adLoader(_ adLoader: AdLoader, didReceive nativeAd: NativeAd) {
  // Set the delegate to receive notifications for interactions with the native ad.
  nativeAd.delegate = self

  // TODO: Display the native ad.
}

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd {
  // Set the delegate to receive notifications for interactions with the native ad.
  nativeAd.delegate = self;

  // TODO: Display the native ad.
}

GADCustomNativeAdLoaderDelegate protokolü, özel şablonlu bir reklam yüklendiğinde yetki verilmiş kullanıcıya gönderilen bir mesaj içerir.

Swift

func adLoader(_ adLoader: AdLoader, didReceive customNativeAd: CustomNativeAd) {
  // To be notified of events related to the custom native ad interactions, set the delegate
  // property of the native ad
  customNativeAd.delegate = self

  // TODO: Display the custom native ad.
}

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader
    didReceiveCustomNativeAd:(GADCustomNativeAd *)customNativeAd {
  // To be notified of events related to the custom native ad interactions, set the delegate
  // property of the native ad
  customNativeAd.delegate = self;

  // TODO: Display the custom native ad.
}

Reklam isteğinde bulun

GADAdLoader başlatıldıktan sonra reklam isteğinde bulunmak için loadRequest: yöntemini çağırın:

Swift

adLoader.load(AdManagerRequest())

Objective-C

[self.adLoader loadRequest:[GAMRequest request]];

GADAdLoader içindeki loadRequest: yöntemi, banner'lar ve geçiş reklamlarıyla aynı GAMRequest nesnelerini kabul eder. Diğer reklam türlerinde olduğu gibi, hedefleme bilgileri eklemek için istek nesnelerini kullanabilirsiniz.

Birden fazla reklam yükleme (isteğe bağlı)

Tek bir istekte birden fazla reklam yüklemek için GADAdLoader başlatılırken GADMultipleAdsAdLoaderOptions nesnesini ayarlayın.

Swift

let multipleAdOptions = MultipleAdsAdLoaderOptions()
multipleAdOptions.numberOfAds = 5
adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  // The UIViewController parameter is optional.
  rootViewController: self,
  adTypes: [.native],
  options: [multipleAdOptions])

Objective-C

GADMultipleAdsAdLoaderOptions *multipleAdOptions = [[GADMultipleAdsAdLoaderOptions alloc] init];
multipleAdOptions.numberOfAds = 5;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"kNativeAdUnitID"
                                   // The UIViewController parameter is optional.
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ multipleAdOptions ]];

İstek başına reklam sayısı beş ile sınırlıdır ve SDK'nın istenen reklam sayısını döndüreceği garanti edilmez.

Döndürülen Google reklamlarının tümü birbirinden farklı olur. Ancak ayrılmış envanterden veya üçüncü taraf alıcılardan gelen reklamların benzersiz olması garanti edilmez.

Uyumlulaştırma kullanıyorsanız GADMultipleAdsAdLoaderOptions sınıfını kullanmayın. Çünkü birden fazla doğal reklam isteği, uyumlulaştırma için yapılandırılmış reklam birimi kimliklerinde çalışmaz.

Yüklemenin ne zaman tamamlandığını belirleme

Bir uygulama loadRequest: işlevini çağırdıktan sonra aşağıdaki işlevleri çağırarak isteğin sonuçlarını alabilir:

Tek bir reklam isteği, bu yöntemlerden birine yapılan tek bir çağrıyla sonuçlanır.

Birden fazla reklam isteği, yukarıdaki yöntemlere en az bir geri çağırma ile sonuçlanır ancak istenen maksimum reklam sayısından fazla olmaz.

Ayrıca, GADAdLoaderDelegate, adLoaderDidFinishLoading geri çağırma işlevini sunar. Bu temsilci yöntemi, bir reklam yükleyicinin reklam yüklemeyi bitirdiğini ve istek için başka reklam veya hata bildirilmeyeceğini gösterir. Aşağıda, aynı anda birden fazla doğal reklam yüklerken bu yöntemi nasıl kullanacağınıza dair bir örnek verilmiştir:

Swift

func adLoaderDidFinishLoading(_ adLoader: AdLoader) {
  // The adLoader has finished loading ads.
}

Objective-C

- (void)adLoaderDidFinishLoading:(GADAdLoader *)adLoader {
  // The adLoader has finished loading ads.
}

Başarısız istekleri işleme

Protokoller, reklamlar yüklenemediğinde gönderilen bir mesajı tanımlayan GADAdLoaderDelegate protokolünü genişletir.

Swift

func adLoader(_ adLoader: AdLoader, didFailToReceiveAdWithError error: any Error) {
  // The adLoader failed to receive an ad.
}

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader didFailToReceiveAdWithError:(NSError *)error {
  // The adLoader failed to receive an ad.
}

Doğal reklam etkinlikleri hakkında bildirim alma

Doğal reklam etkileşimleriyle ilgili etkinliklerden haberdar olmak için doğal reklamın temsilci özelliğini ayarlayın:

Swift

nativeAd.delegate = self

Objective-C

nativeAd.delegate = self;

Ardından, aşağıdaki temsilci çağrılarını almak için GADNativeAdDelegate uygulayın:

Swift

func nativeAdDidRecordImpression(_ nativeAd: NativeAd) {
  // The native ad was shown.
}

func nativeAdDidRecordClick(_ nativeAd: NativeAd) {
  // The native ad was clicked on.
}

func nativeAdWillPresentScreen(_ nativeAd: NativeAd) {
  // The native ad will present a full screen view.
}

func nativeAdWillDismissScreen(_ nativeAd: NativeAd) {
  // The native ad will dismiss a full screen view.
}

func nativeAdDidDismissScreen(_ nativeAd: NativeAd) {
  // The native ad did dismiss a full screen view.
}

func nativeAdWillLeaveApplication(_ nativeAd: NativeAd) {
  // The native ad will cause the app to become inactive and
  // open a new app.
}

Objective-C

- (void)nativeAdDidRecordImpression:(GADNativeAd *)nativeAd {
  // The native ad was shown.
}

- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd {
  // The native ad was clicked on.
}

- (void)nativeAdWillPresentScreen:(GADNativeAd *)nativeAd {
  // The native ad will present a full screen view.
}

- (void)nativeAdWillDismissScreen:(GADNativeAd *)nativeAd {
  // The native ad will dismiss a full screen view.
}

- (void)nativeAdDidDismissScreen:(GADNativeAd *)nativeAd {
  // The native ad did dismiss a full screen view.
}

- (void)nativeAdWillLeaveApplication:(GADNativeAd *)nativeAd {
  // The native ad will cause the app to become inactive and
  // open a new app.
}

En iyi uygulamalar

Reklam yüklerken aşağıdaki kurallara uyun.

  • Bir listede doğal reklamlar kullanan uygulamalar, reklam listesini önceden önbelleğe almalıdır.

  • Reklamları önceden önbelleğe alırken önbelleğinizi temizleyin ve bir saat sonra yeniden yükleyin.

  • adLoaderDidFinishLoading: ile belirtildiği gibi, önceki istek yüklenmeyi bitirene kadar GADAdLoader üzerinde loadRequest: işlevini tekrar çağırmayın.

  • Yerel reklam önbelleğe almayı yalnızca gerekli olanlarla sınırlayın. Örneğin, önceden önbelleğe alma işlemi sırasında yalnızca ekranda hemen görünen reklamları önbelleğe alın. Doğal reklamlar büyük bir bellekte kaplanan yere sahiptir ve doğal reklamları kaldırmadan önbelleğe almak aşırı bellek kullanımına neden olur.

  • Artık kullanılmayan doğal reklamları kaldırın.

Reklamınızı görüntüleme

Bir reklamı yükledikten sonra yapmanız gereken tek şey, reklamı kullanıcılarınıza göstermektir. Nasıl yapılacağını öğrenmek için Native Advanced kılavuzumuza göz atın.