Sabit uyarlanabilir banner'lar

Uyarlanabilir banner'lar, reklam boyutunu her cihaz için optimize ederek performansı en üst düzeye çıkaran yeni nesil duyarlı reklamlardır. Uyarlanabilir banner'lar, yalnızca sabit yükseklikleri destekleyen akıllı banner'ların gelişmiş versiyonudur. Reklamverenler bu banner'lar reklam genişliğini belirtebilir ve en uygun reklam boyutunu belirlemek için bunu kullanabilir.

Uyarlanabilir banner'lar, en iyi reklam boyutunu seçmek için sabit yükseklikler yerine sabit en boy oranları kullanır. Bu özellik sayesinde banner reklamlar, tüm cihazlarda ekranının benzer bir bölümünü kaplayarak daha iyi performans fırsatları sunar.

Uyarlanabilir banner'larla çalışırken bunların belirli bir cihaz ve genişlik için her zaman sabit bir boyut döndüreceğini unutmayın. Belirli bir cihazda düzeninizi test ettikten sonra, reklam boyutunun değişmediğinden emin olabilirsiniz. Ancak banner reklam öğesinin boyutu farklı cihazlara göre değişebilir. Sonuç olarak, düzeninizin reklam yüksekliğindeki farklılıkları karşılayabileceğinden emin olmanız önerilir. Nadiren, tam uyarlanabilir boyut doldurulamayabilir ve bunun yerine standart boyutlu bir reklam öğesi ortalanır.

Uyarlanabilir banner'ların kullanılabileceği durumlar

Uyarlanabilir banner'lar, sektör standardı olan 320x50 banner boyutu ve yerine geçtikleri akıllı banner biçimi için doğrudan uygulanabilen bir alternatif olacak şekilde tasarlanmıştır.

Bu banner boyutları genellikle sabit banner'lar olarak kullanılır ve sabit banner'lar genellikle ekranın üst veya alt kısmına kilitlenir. Bu tür sabit banner'lar için uyarlanabilir banner'ları kullanırken en boy oranı, şu ekran görüntülerinde görebileceğiniz gibi 320x50 boyutundaki standart bir reklama benzer olacaktır:


320x50 banner

Akıllı banner

Uyarlanabilir banner

Uyarlanabilir banner, mevcut ekran boyutunu daha iyi kullanır. Ayrıca, uyarlanabilir banner ile karşılaştırıldığında uyarlanabilir banner'ın daha iyi bir seçenek olması için:

  • Tam ekran genişliği yerine sağlanan genişliği kullanarak ekran kesimlerini dahil edebilirsiniz.

  • Farklı boyutlardaki cihazlarda sabit bir yüksekliğe sahip olmak yerine belirli bir cihaz için optimum yüksekliği seçerek cihaz parçalanmasının etkilerini azaltır.

Uygulama notları

Uygulamanızda uyarlanabilir banner'ları uygularken aşağıdaki noktaları aklınızda bulundurun:

  • Reklamın yerleştirileceği görünümün genişliğini bilmeniz gerekir ve bunun, cihaz genişliğini ve görüntülü reklam kesimleri alanları göz önünde bulundurması gerekir.
  • Reklam alanını doldurmayan küçük reklam boyutları sunulduğunda, reklam görüntüleme arka planınızınAdMob politikalara uygun olduğundan emin olun.

  • Google Mobile Ads SDK'sının en son sürümünü kullandığınızdan emin olun. Uyumlulaştırma için en son uyumlulaştırma bağdaştırıcılarını kullanın.

  • Uyarlanabilir banner boyutları, kullanılabilir tam genişlik kullanılırken en iyi sonucu verecek şekilde tasarlanmıştır. Çoğu durumda bu değer, kullanılan cihazın ekranının tam genişliğidir. Geçerli ekran kesimlerini. göz önünde bulundurun.

  • Google Mobile Ads SDK'sı, AdSize cinsinden belirli bir genişlik için optimize edilmiş bir reklam yüksekliği döndürür.

  • Uyarlanabilir banner'lar için reklam boyutu almanın üç yolu vardır. Biri yatay, biri dikey, diğeri yürütme sırasında geçerli yön için olabilir. Daha fazla bilgi için aşağıdaki API belgelerinin tümüne bakın.

  • Belirli bir cihazda belirli bir genişlik için döndürülen boyut her zaman aynı olacaktır. Bu nedenle, belirli bir cihazda düzeninizi test ettikten sonra reklam boyutunun değişmeyeceğinden emin olabilirsiniz.

  • Sabit banner yüksekliği hiçbir zaman cihazın yüksekliğinin% 15'inden fazla olmamalıdır ve hiçbir zaman 50 dp.

Hızlı başlangıç

Uyarlanabilir sabit banner'ı uygulamak için aşağıdaki adımları uygulayın.

  1. Nesne an AdView oluşturun ve reklam birimi kimliğinizi ayarlayın.

  2. Uyarlanabilir banner reklam boyutu alın. Aldığınız boyut, uyarlanabilir banner'ınızı istemek için kullanılır. Uyarlanabilir reklam boyutunu almak için şunları yaptığınızdan emin olun:

    1. Kullanılan cihazın genişliğini alın veya ekranın tam genişliğini kullanmak istemiyorsanız kendi genişliğinizi ayarlayın.
    2. Reklam boyutu sınıfında uygun statik yöntemleri kullanın. Örneğin, seçilen yön için AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(context, width) uyarlanabilir bir nesne bulmak üzere AdSize nesne kullanın.
    3. Banner reklam görünümünde reklam boyutunu ayarlayın. Bunu AdView.setAdSize() kullanarak yapın.

    Aşağıda bununla ilgili bir örnek verilmiştir.

  3. Tıpkı normal bir banner isteğinde olduğu gibi, hazır reklam reklamınızdakiloadAd() yöntemini kullanarak bir reklam isteği nesnesi oluşturun ve banner'ınızı yükleyin.

Örnek kod

Ekranın genişliğine uyacak şekilde uyarlanabilir banner'ı yükleyecek bir etkinlik örneği aşağıda verilmiştir:

Java

import android.content.res.Configuration;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.DisplayMetrics;
import android.view.Display;
import android.widget.FrameLayout;

import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.MobileAds;

/** Main Activity. Inflates main activity xml and child fragments. */
public class MyActivity extends AppCompatActivity {

  private FrameLayout adContainerView;
  private AdView adView;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_my);

    // Initialize the Mobile Ads SDK.
    MobileAds.initialize(this, new OnInitializationCompleteListener() {
        @Override
        public void onInitializationComplete(InitializationStatus initializationStatus) { }
    });

    adContainerView = findViewById(R.id.ad_view_container);
    // Step 1 - Create an AdView and set the ad unit ID on it.
    adView = new AdView(this);
    adView.setAdUnitId(getString(R.string.adaptive_banner_ad_unit_id));
    adContainerView.addView(adView);
    loadBanner();
  }

  private void loadBanner() {
    // Create an ad request. Check your logcat output for the hashed device ID
    // to get test ads on a physical device, e.g.,
    // "Use AdRequest.Builder.addTestDevice("ABCDE0123") to get test ads on this
    // device."
    AdRequest adRequest =
        new AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
            .build();

    AdSize adSize = getAdSize();
    // Step 4 - Set the adaptive ad size on the ad view.
    adView.setAdSize(adSize);
    

    // Step 5 - Start loading the ad in the background.
    adView.loadAd(adRequest);
  }

  private AdSize getAdSize() {
    // Step 2 - Determine the screen width (less decorations) to use for the ad width.
    Display display = getWindowManager().getDefaultDisplay();
    DisplayMetrics outMetrics = new DisplayMetrics();
    display.getMetrics(outMetrics);

    float widthPixels = outMetrics.widthPixels;
    float density = outMetrics.density;

    int adWidth = (int) (widthPixels / density);

    // Step 3 - Get adaptive ad size and return for setting on the ad view.
    return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth);
  }
}

Kotlin

import android.os.Bundle
import android.util.DisplayMetrics
import androidx.appcompat.app.AppCompatActivity
import com.google.android.gms.ads.AdRequest
import com.google.android.gms.ads.AdSize
import com.google.android.gms.ads.AdView
import com.google.android.gms.ads.MobileAds
import kotlinx.android.synthetic.main.activity_my.*

/** Main Activity. Inflates main activity xml and child fragments.  */
class MyActivity : AppCompatActivity() {
  private lateinit var adView: AdView

  // Determine the screen width (less decorations) to use for the ad width.
  // If the ad hasn't been laid out, default to the full screen width.
  private val adSize: AdSize
    get() {
      val display = windowManager.defaultDisplay
      val outMetrics = DisplayMetrics()
      display.getMetrics(outMetrics)

      val density = outMetrics.density

      var adWidthPixels = ad_view_container.width.toFloat()
      if (adWidthPixels == 0f) {
        adWidthPixels = outMetrics.widthPixels.toFloat()
      }

      val adWidth = (adWidthPixels / density).toInt()
      return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth)
    }

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_my)

    // Initialize the Mobile Ads SDK.
    MobileAds.initialize(this) { }

    adView = AdView(this)
    ad_view_container.addView(adView)
    loadBanner()
  }

  private fun loadBanner() {
    adView.adUnitId = ad unit id

    adView.adSize = adSize

    // Create an ad request. Check your logcat output for the hashed device ID to
    // get test ads on a physical device, e.g.,
    // "Use AdRequest.Builder.addTestDevice("ABCDE0123") to get test ads on this device."
    val adRequest = AdRequest
        .Builder()
        .addTestDevice(AdRequest.DEVICE_ID_EMULATOR).build()

    // Start loading the ad in the background.
    adView.loadAd(adRequest)
  }

  companion object {
    // This is an ad unit ID for a test ad. Replace with your own banner ad unit ID.
    private val AD_UNIT_ID = "ca-app-pub-3940256099942544~3347511713"
  }
}

Burada AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize işlevi, mevcut arayüz yönü için sabit bir konumda banner'ın boyutunu almak üzere kullanılır. Belirli bir yöndeki sabit banner'ı önceden yüklemek için AdSize.getPortraitAnchoredAdaptiveBannerAdSize ve AdSize.getLandscapeAnchoredAdaptiveBannerAdSize ile alakalı işlevi kullanın.

GitHub'da örneği tamamlayın

Java'yı indirin Kotlin'i indirin