Geçiş reklamları

Geçiş reklamları, kullanıcı tarafından kapatılana kadar uygulamanı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 oyunda seviyeler arasındaki duraklamalarda) gösterilirler. Bir uygulamada geçiş reklamı gösterildiğinde kullanıcı, reklama dokunup hedefine devam etme veya reklamı kapatıp uygulamaya geri dönme seçeneğini kullanabilir. Örnek olay.

Bu kılavuzda, Google Mobile Ads C++ SDK'sını kullanarak geçiş reklamlarını Android ve iOS uygulamalarına nasıl entegre edeceğiniz gösterilmektedir.

Ön koşullar

Her zaman test reklamlarıyla test etme

Uygulamalarınızı oluşturup 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, geçiş reklamları için özel test reklam birimi kimliğimizi kullanmaktır. Bu kimlik, cihaz platformuna göre değişir:

  • Android: ca-app-pub-3940256099942544/1033173712
  • iOS: ca-app-pub-3940256099942544/4411468910

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

Mobile Ads SDK'sının test reklamlarının işleyiş şekli hakkında daha fazla bilgi için Test Reklamları konusuna bakın.

Uygulama

Geçiş reklamlarını entegre etmek için başlıca adımlar şunlardır:

  1. Bir reklam yükleyin.
  2. Geri çağırma işlevleri için kaydolun.
  3. Reklamı görüntüleyin ve yaşam döngüsü olaylarını yönetin.

InterstitialAd yapılandırın

Geçiş reklamları InterstitialAd nesneleri halinde görüntülenir. Bu nedenle, geçiş reklamlarını uygulamanıza entegre etmenin ilk adımı bir InterstitialAd nesnesi oluşturmak ve başlatmaktır.

  1. Aşağıdaki başlığı uygulamanızın C++ koduna ekleyin:

     #include "firebase/gma/interstial_ad.h"
    

  2. Bir InterstitialAd nesnesini tanımlayın ve örneklendirin:

     firebase::gma::InterstitialAd* interstitial_ad;
     interstitial_ad = new firebase::gma::InterstitialAd();
    

  3. Ana görünümünüzü AdParent türüne yayınlayarak InterstitialAd örneğini başlatın. Üst görünüm, bir Android Activity için JNI jobject referansı veya bir iOS UIView işaretçisi.

    // my_ad_parent is a jobject reference to an Android Activity or
    // a pointer to an iOS UIView.
    firebase::gma::AdParent ad_parent =
      static_cast<firebase::gma::AdParent>(my_ad_parent);
    firebase::Future<void> result = interstitial_ad->Initialize(ad_parent);
    
  4. Geleceği değişken olarak tutmaya alternatif olarak, InterstitialAd nesnesinde InitializeLastResult() yöntemini çağırarak başlatma işleminin durumunu düzenli aralıklarla kontrol edebilirsiniz. Bu, genel oyun döngünüzdeki başlatma sürecini takip etmek için faydalı olabilir.

    // Monitor the status of the future in your game loop:
    firebase::Future<void> result = interstitial_ad->InitializeLastResult();
    if (result.status() == firebase::kFutureStatusComplete) {
      // Initialization completed.
      if(future.error() == firebase::gma::kAdErrorCodeNone) {
        // Initialization successful.
      } else {
        // An error has occurred.
      }
    } else {
      // Initialization on-going.
    }
    

firebase::Future ile çalışma hakkında daha fazla bilgi için Yöntem çağrılarının tamamlanma durumunu izlemek için Vadeli İşlemleri Kullanma bölümüne bakın.

Reklam yükle

Reklam yükleme, InterstitialAd nesnesinde LoadAd() yöntemi kullanılarak gerçekleştirilir. Yükleme yöntemi, InterstitialAd nesnesini başlatmanızı ve reklam birimi kimliğiniz ile bir AdRequest nesnenizin olmasını gerektirir. Yükleme işleminin durumunu ve sonucunu izlemek için kullanabileceğiniz bir firebase::Future döndürülür.

Aşağıdaki kod, InterstitialAd başarıyla başlatıldıktan sonra reklamın nasıl yükleneceğini gösterir:

firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result;
load_ad_result = interstitial_ad->LoadAd(interstitial_ad_unit_id, ad_request);

Geri çağırma işlevleri için kaydolun

Geçiş reklamı sunumu ve yaşam döngüsü olayları hakkında bildirim almak için FullScreenContentListener sınıfını genişletmeniz gerekir. Özel FullScreenContentListener alt sınıfınız InterstitialAd::SetFullScreenContentListener() yöntemiyle kaydedilebilir ve reklam başarılı veya başarısız olduğunda ya da kapatıldığında geri çağırma alır.

Aşağıdaki kod, sınıfın nasıl genişletileceğini ve reklama nasıl atanacağını gösterir:

  class ExampleFullScreenContentListener
      : public firebase::gma::FullScreenContentListener {

   public:
    ExampleFullScreenContentListener() {}

    void OnAdClicked() override {
      // This method is invoked when the user clicks the ad.
    }

    void OnAdDismissedFullScreenContent() override {
     // This method is invoked when the ad dismisses full screen content.
    }

    void OnAdFailedToShowFullScreenContent(const AdError& error) override {
      // This method is invoked when the ad failed to show full screen content.
      // Details about the error are contained within the AdError parameter.
    }

    void OnAdImpression() override {
      // This method is invoked when an impression is recorded for an ad.
    }

    void OnAdShowedFullScreenContent() override {
      // This method is invoked when the ad showed its full screen content.
    }
  };

  ExampleFullScreenContentListener* full_screen_content_listener =
    new ExampleFullScreenContentListener();
  interstitial_ad->SetFullScreenContentListener(full_screen_content_listener);

InterstitialAd tek kullanımlık bir nesnedir. Bu, bir geçiş reklamı gösterildikten sonra tekrar gösterilmeyeceği anlamına gelir. En iyi uygulama, FullScreenContentListener uygulamanızın OnAdDismissedFullScreenContent() yöntemine başka bir geçiş reklamı yüklemektir. Böylece bir sonraki geçiş reklamı önceki kapatılır kapatılmaz kısa sürede yüklenmeye başlar.

Reklamı görüntüleme

Geçiş reklamları, uygulama akışındaki doğal duraklamalar sırasında gösterilmelidir. Bir oyunun seviyeleri arasında veya kullanıcı bir görevi tamamladıktan sonra iyi bir örnek verilebilir. FullScreenContentListener, bir reklamın tam ekran içeriğini ne zaman gösterdiğini belirlemek için kullanılabilir. Ancak Show() tarafından döndürülen gelecek için de reklamın başarıyla gösterilip gösterilmediğini belirtir.

  firebase::Future<void> result = interstitial_ad->Show();

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 uygulamalarda en iyi sonucu verir. Uygulama içinde bir görevin sonuçlanması (ör. resim paylaşma veya oyun seviyesini tamamlama), böyle bir nokta oluşturur. Kullanıcı işlemde ara vermeyi beklediği için kullanıcı deneyimini sekteye uğratmadan bir geçiş reklamı sunmak kolaydır. Uygulamanızın iş akışının hangi noktalarında geçiş reklamları göstereceğinizi ve kullanıcının nasıl yanıt verebileceğini göz önünde bulundurduğunuzdan emin olun.
Bir geçiş reklamı görüntülerken işlemi duraklatmayı unutmayın.
Metin, resim, video ve birkaç farklı geçiş reklamı türü vardır. Uygulamanızda bir geçiş reklamı görüntülendiğinde, reklamın bunlardan yararlanabilmesi için bazı kaynakların kullanımını askıya alması da önemlidir. Örneğin, bir geçiş reklamı göstermek için çağrı yaptığınızda, uygulamanızın ürettiği tüm ses çıkışlarını duraklattığınızdan emin olun. Sesleri çalmaya, yüklü FullScreenContentListener cihazınızın OnAdDismissedFullScreenContent yönteminde devam edebilirsiniz. Bu yöntem, kullanıcı reklamla etkileşimi bitirdiğinde çağrılır. Ayrıca, reklam gösterilirken yoğun hesaplama görevlerini (oyun döngüsü gibi) geçici olarak durdurabilirsiniz. Bu, kullanıcının yavaş veya yanıt vermeyen grafikler ya da kesintili video deneyimi yaşamamasını sağlar.
Yükleme süresi için yeterli süre tanıyın.
Geçiş reklamlarını uygun bir zamanda görüntülediğinizden emin olmak kadar, kullanıcının bu reklamların yüklenmesini beklemek zorunda kalmamasını sağlamak da önemlidir. Reklamı göstermek istemediğinizden önce reklamı önceden yüklemek, gösterileceği zaman geldiğinde uygulamanızda tamamen yüklenmiş bir geçiş reklamı olmasını sağlayabilir.
Kullanıcıyı reklama boğmayın.
Uygulamanızda geçiş reklamlarının sıklığını artırmak, geliri artırmanın mükemmel bir yolu gibi görünse de kullanıcı deneyiminin kalitesini düşürebilir ve tıklama oranlarını düşürebilir. Kullanıcıların, uygulamanızın keyfini süremeyecekleri kadar sık kesinti yaşamadıklarından emin olun.
Geçiş reklamını göstermek için "yükleme tamamlama" gelecekteki halini kullanmayın.
Bu durum, kötü bir kullanıcı deneyimine yol açabilir. Bunun yerine, göstermeniz için reklamı önceden yükleyin.

Ek kaynaklar

GitHub'da örnek

Mobile Ads Garage eğitim videoları

Başarı öyküleri

Sonraki adımlar