Yerel reklamlar

Doğal reklamlar, platforma özgü kullanıcı arayüzü bileşenleri aracılığıyla kullanıcılara sunulan reklam öğeleridir. Bu reklamlar, düzenlerinizi oluştururken kullandığınız görünüm türleriyle 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, Google Mobile Ads SDK'sı (beta) yerine uygulama, bu öğeleri göstermekten sorumludur.

Genel olarak, yerel 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, yerel reklamları yüklemek için SDK'nın nasıl kullanılacağı gösterilmektedir. İpucu: Yerel reklamlar hakkında daha fazla bilgi edinmek için Yerel Reklamlar Başucu Kitabı'nı inceleyin.

Örnekler Java ve Kotlin için kullanılabilir.

Ayrıca, bazı müşteri başarı öykülerine de göz atabilirsiniz: örnek olay 1, örnek olay 2.

Ön koşullar

Her zaman test reklamlarıyla test yapın

Uygulamalarınızı oluşturup test ederken canlı yayınlanan, üretim reklamları yerine test reklamlarını kullandığınızdan emin olun. Bu işlemi yapmazsanız hesabınız askıya alınabilir.

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

Reklam biçimi Örnek reklam birimi kimliği
Yerel biçim ca-app-pub-3940256099942544/2247696110
Yerel Video ca-app-pub-3940256099942544/1044960115

Reklam yükleme

Bir doğal reklamı yüklemek için NativeAdLoader.load() yöntemini çağırın. Bu yöntem, NativeAdRequest ve NativeAdLoaderCallback parametrelerini alır.

import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAd
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdLoader
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdLoaderCallback
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdRequest

class NativeFragment : Fragment() {

  private var nativeAd: NativeAd? = null

  override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    loadAd()
  }

  private fun loadAd() {
    // Build an ad request with native ad options to customize the ad.
    val adRequest = NativeAdRequest
      .Builder(AD_UNIT_ID, listOf(NativeAd.NativeAdType.NATIVE))
      .build()

    val adCallback =
      object : NativeAdLoaderCallback {
        override fun onNativeAdLoaded(nativeAd: NativeAd) {
          // Called when a native ad has loaded.
        }
        override fun onAdFailedToLoad(adError: LoadAdError) {
          // Called when a native ad has failed to load.
        }
      }

    // Load the native ad with our request and callback.
    NativeAdLoader.load(adRequest, adCallback)
  }

  companion object {
    // Sample native ad unit ID.
    const val AD_UNIT_ID = "ca-app-pub-3940256099942544/2247696110"
  }
}

Doğal reklam etkinliği geri çağırmasını ayarlama

onNativeAdLoaded işlenirken, yerel reklam yaşam döngüsü etkinliklerini alma işlevlerini tanımlamak için alınan onNativeAdLoaded değerini NativeAdEventCallback ile ayarlayın: NativeAd

  nativeAd.adEventCallback =
    object : NativeAdEventCallback {
      override fun onAdShowedFullScreenContent() {
        // Native ad showed full screen content.
      }
      override fun onAdDismissedFullScreenContent() {
        // Native ad dismissed full screen content.
      }
      override fun onAdFailedToShowFullScreenContent {
        // Native ad failed to show full screen content.
      }
      override fun onAdImpression() {
        // Native ad recorded an impression.
      }
      override fun onAdClicked() {
        // Native ad recorded a click.
      }
    }

İsteğe bağlı: Birden fazla reklam yükleme

Birden fazla reklam yüklemek için isteğe bağlı numberOfAds parametresiyle load() işlevini çağırın. Ayarlayabileceğiniz maksimum değer, reklam sayısını temsil eden 5'dır. Google Mobile Ads SDK'sı (beta), istediğiniz reklam sayısını tam olarak döndürmeyebilir.

private fun loadAd() {
  // Build an ad request with native ad options to customize the ad.
  val adRequest = NativeAdRequest
    .Builder(AD_UNIT_ID, listOf(NativeAd.NativeAdType.NATIVE))
    .build()

  val adCallback =
    object : NativeAdLoaderCallback {
      override fun onNativeAdLoaded(nativeAd: NativeAd) {
        // Called when a native ad has loaded.
      }
      override fun onAdFailedToLoad(adError: LoadAdError) {
        // Called when a native ad has failed to load.
      }
      override fun onAdLoadingCompleted() {
        // Called when all native ads have loaded.
      }
    }

  // Load the native ad with our request and callback.
  NativeAdLoader.load(adRequest, 3, adCallback)
}

Google Mobile Ads SDK'sının (beta) döndürdüğü reklamlar benzersizdir ancak ayrılmış envanterden veya üçüncü taraf alıcılardan gelen reklamlar benzersiz olmayabilir.

Uyumlulaştırma kullanıyorsanız load() yöntemini çağırmayın. Birden fazla doğal reklam isteği, uyumlulaştırma için yapılandırılmış reklam birimi kimliklerinde çalışmaz.

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.

  • Yerel reklam önbelleğe almayı yalnızca gerekli olanla sınırlayın. Örneğin, önbelleğe alma sırasında yalnızca ekranda hemen görünen reklamları önbelleğe alın. Yerel reklamlar büyük bir bellek alanı kaplar ve yerel reklamları yok etmeden önbelleğe almak aşırı bellek kullanımına neden olur.

  • Artık kullanılmadığında doğal reklamları yok edin.

Video reklamlar için donanım hızlandırma

Video reklamların yerel reklam görünümlerinizde başarıyla gösterilmesi için donanım hızlandırmanın etkinleştirilmesi gerekir.

Donanım hızlandırma varsayılan olarak etkindir ancak bazı uygulamalar bunu devre dışı bırakmayı seçebilir. Bu durum uygulamanız için geçerliyse reklam kullanan Etkinlik sınıflarında donanım hızlandırmayı etkinleştirmenizi öneririz.

Donanım hızlandırmayı etkinleştirme

Uygulamanız, donanım hızlandırma özelliği genel olarak etkinleştirildiğinde düzgün çalışmıyorsa bu özelliği tek tek etkinlikler için de kontrol edebilirsiniz. Donanım hızlandırmayı etkinleştirmek veya devre dışı bırakmak için AndroidManifest.xml içindeki <application> ve <activity> öğeleri için android:hardwareAccelerated özelliğini kullanın. Aşağıdaki örnekte, uygulamanın tamamında donanım hızlandırma etkinleştirilirken bir etkinlikte devre dışı bırakılıyor:

<application android:hardwareAccelerated="true">
    <!-- For activities that use ads, hardwareAcceleration should be true. -->
    <activity android:hardwareAccelerated="true" />
    <!-- For activities that don't use ads, hardwareAcceleration can be false. -->
    <activity android:hardwareAccelerated="false" />
</application>

Donanım hızlandırmayı kontrol etme seçenekleri hakkında daha fazla bilgi için Donanım hızlandırma kılavuzuna bakın. Etkinlik devre dışıysa donanım hızlandırma için tek tek reklam görüntülemelerinin etkinleştirilemeyeceğini, bu nedenle Etkinliğin kendisinde donanım hızlandırmanın etkinleştirilmesi gerektiğini unutmayın.

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

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

Örnek

Google Mobile Ads SDK'sının (beta) kullanımını gösteren örnek uygulamayı indirip çalıştırın.