Geçiş reklamları

Geçiş reklamları, ana makine uygulamasının arayüzünü kaplayan tam ekran reklamlardır. Genellikle bir uygulamanın akışındaki doğal geçiş noktalarında (ör. etkinlikler arasında veya bir oyundaki seviyeler arasındaki duraklama sırasında) gösterilirler. Bir uygulama geçiş reklamı gösterdiğinde kullanıcı reklama dokunup hedefine devam etme veya reklamı kapatıp uygulamaya dönme arasında seçim yapabilir.

Bu kılavuzda, geçiş reklamlarının bir Android uygulamasına nasıl entegre edileceği açıklanmaktadır.

Ön koşullar

Her zaman test reklamlarıyla test etme

Uygulamalarınızı oluştururken ve test ederken canlı, üretim reklamları yerine test reklamlarını kullandığınızdan emin olun. Aksi takdirde hesabınız askıya alınabilir.

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

/6499/example/interstitial

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

Mobile Ads SDK'sının test reklamlarının nasıl çalıştığı hakkında daha fazla bilgi için Test Reklamları bölümüne bakın.

Reklam yükle

Bir geçiş reklamı yüklemek için AdManagerInterstitialAd statik load() yöntemini çağırın ve yüklenen reklamı veya olası hataları almak için bir AdManagerInterstitialAdLoadCallback iletin. Diğer biçim yükleme geri çağırma işlemlerinde olduğu gibi, AdManagerInterstitialAdLoadCallback daha yüksek doğruluk oranına sahip hata ayrıntıları sağlamak için LoadAdError teknolojisinden yararlanır.

Java

import com.google.android.gms.ads.admanager.AdManagerInterstitialAd;
import com.google.android.gms.ads.admanager.AdManagerInterstitialAdLoadCallback;

public class MainActivity extends Activity {

  private AdManagerInterstitialAd mAdManagerInterstitialAd;
  private static final String TAG = "MainActivity";

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

    AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder().build();

    AdManagerInterstitialAd.load(this,"/6499/example/interstitial", adRequest,
        new AdManagerInterstitialAdLoadCallback() {
      @Override
      public void onAdLoaded(@NonNull AdManagerInterstitialAd interstitialAd) {
        // The mAdManagerInterstitialAd reference will be null until
        // an ad is loaded.
        mAdManagerInterstitialAd = interstitialAd;
        Log.i(TAG, "onAdLoaded");
      }

      @Override
      public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
        // Handle the error
        Log.d(TAG, loadAdError.toString());
        mAdManagerInterstitialAd = null;
      }
    });
  }
}

Kotlin

import com.google.android.gms.ads.admanager.AdManagerInterstitialAd;
import com.google.android.gms.ads.admanager.AdManagerInterstitialAdLoadCallback;

class MainActivity : AppCompatActivity() {

  private var mAdManagerInterstitialAd: AdManagerInterstitialAd? = null
  private final val TAG = "MainActivity"

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

      var adRequest = AdManagerAdRequest.Builder().build()

      AdManagerInterstitialAd.load(this,"/6499/example/interstitial", adRequest, object : AdManagerInterstitialAdLoadCallback() {
        override fun onAdFailedToLoad(adError: LoadAdError) {
          Log.d(TAG, adError?.toString())
          mAdManagerInterstitialAd = null
        }

        override fun onAdLoaded(interstitialAd: AdManagerInterstitialAd) {
          Log.d(TAG, 'Ad was loaded.')
          mAdManagerInterstitialAd = interstitialAd
        }
      })
    }
}

FullScreenContentCallback'i ayarlama

FullScreenContentCallback, InterstitialAd cihazınızın görüntülenmesiyle ilgili etkinlikleri işler. InterstitialAd öğesini göstermeden önce geri çağırma özelliğini ayarladığınızdan emin olun:

Java

mAdManagerInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback(){
  @Override
  public void onAdClicked() {
    // Called when a click is recorded for an ad.
    Log.d(TAG, "Ad was clicked.");
  }

  @Override
  public void onAdDismissedFullScreenContent() {
    // Called when ad is dismissed.
    // Set the ad reference to null so you don't show the ad a second time.
    Log.d(TAG, "Ad dismissed fullscreen content.");
    mAdManagerInterstitialAd = null;
  }

  @Override
  public void onAdFailedToShowFullScreenContent(AdError adError) {
    // Called when ad fails to show.
    Log.e(TAG, "Ad failed to show fullscreen content.");
    mAdManagerInterstitialAd = null;
  }

  @Override
  public void onAdImpression() {
    // Called when an impression is recorded for an ad.
    Log.d(TAG, "Ad recorded an impression.");
  }

  @Override
  public void onAdShowedFullScreenContent() {
    // Called when ad is shown.
    Log.d(TAG, "Ad showed fullscreen content.");
  }
});

Kotlin

mAdManagerInterstitialAd?.fullScreenContentCallback = object: FullScreenContentCallback() {
  override fun onAdClicked() {
    // Called when a click is recorded for an ad.
    Log.d(TAG, "Ad was clicked.")
  }

  override fun onAdDismissedFullScreenContent() {
    // Called when ad is dismissed.
    Log.d(TAG, "Ad dismissed fullscreen content.")
    mAdManagerInterstitialAd = null
  }

  override fun onAdFailedToShowFullScreenContent(adError: AdError?) {
    // Called when ad fails to show.
    Log.e(TAG, "Ad failed to show fullscreen content.")
    mAdManagerInterstitialAd = null
  }

  override fun onAdImpression() {
    // Called when an impression is recorded for an ad.
    Log.d(TAG, "Ad recorded an impression.")
  }

  override fun onAdShowedFullScreenContent() {
    // Called when ad is shown.
    Log.d(TAG, "Ad showed fullscreen content.")
  }
}

Reklamı göster

Geçiş reklamları, uygulama akışındaki doğal duraklamalar sırasında gösterilmelidir. Oyunun seviyeleri arasında veya kullanıcı bir görevi tamamladıktan sonra. Bir geçiş reklamı göstermek için show() yöntemini kullanın.

Java

if (mAdManagerInterstitialAd != null) {
  mAdManagerInterstitialAd.show(MyActivity.this);
} else {
  Log.d("TAG", "The interstitial ad wasn't ready yet.");
}

Kotlin

if (mAdManagerInterstitialAd != null) {
  mAdManagerInterstitialAd?.show(this)
} else {
  Log.d("TAG", "The interstitial ad wasn't ready yet.")
}

Bazı en iyi uygulamalar

Geçiş reklamlarının uygulamanız için doğru reklam türü olup olmadığını düşünün.
Geçiş reklamları, doğal geçiş noktalarına sahip olan uygulamalarda en iyi sonucu verir. Uygulama içinde bir görev tamamlamak (ör. resim paylaşmak veya oyundaki bir seviyeyi tamamlamak) böyle bir nokta oluşturur. Geçiş reklamlarını uygulamanızın iş akışının hangi noktalarında göstereceğinizi ve kullanıcının buna nasıl yanıt verebileceğini göz önünde bulundurmaya dikkat edin.
Geçiş reklamı görüntülerken işlemi duraklatmayı unutmayın.
Metin, resim, video ve daha birçok farklı türde geçiş reklamı bulunur. Uygulamanız geçiş reklamı görüntülediğinde bazı kaynakların kullanımını askıya alarak reklamın bunlardan yararlanabilmesini sağlar. Örneğin, bir geçiş reklamı görüntüleme çağrısı yaptığınızda, uygulamanız tarafından üretilen tüm ses çıkışlarını duraklattığınızdan emin olun.
Yeterli yükleme süresi tanıyın.
Geçiş reklamlarını uygun zamanda gösterdiğinizden emin olmanın yanı sıra kullanıcının bu reklamların yüklenmesini beklemek zorunda kalmamasını sağlamanız da önemlidir. show() numaralı telefonu aramayı planlamadan önce load() numarasını arayarak reklamı önceden yüklemek, gösterilme zamanı geldiğinde uygulamanızın tam olarak yüklenmiş bir geçiş reklamı olmasını sağlayabilir.
Kullanıcıyı reklamlarla doldurmayın.
Uygulamanızda geçiş reklamlarının sıklığını artırmak geliri artırmanın iyi bir yolu gibi görünse de kullanıcı deneyimini ve tıklama oranlarını düşürebilir. Kullanıcıların uygulama deneyiminizin keyfini çıkaramayacak kadar sık kesinti yaşamadığından emin olun.

GitHub'daki örnekler

Sonraki adımlar