Geçiş reklamları

Geçiş reklamları, kullanıcı tarafından kapatılana kadar bir uygulamanın arayüzünü kaplayan tam ekran reklamlardır. Bunlar, genellikle bir uygulamanın akışındaki doğal geçiş noktalarında (ör. etkinlikler veya bir oyundaki seviyeler arasındaki duraklama sırasında) görüntülenirler. Uygulama geçiş reklamı gösterdiğinde kullanıcının, reklama dokunup hedefine devam etme veya reklamı kapatıp uygulamaya dönme seçeneği vardır.Ö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 edin

Uygulamalarınızı oluştururken ve test ederken yayında olan ü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ına yönelik özel test reklam birimi kimliğimizi kullanmaktır. Bu kimlik, cihaz platformuna göre değişiklik gösterir:

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

Bunlar, 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 işlemleri sırasında bunları kendi uygulamalarınızda kullanabilirsiniz. Uygulamanızı yayınlamadan önce kendi reklam birimi kimliğinizle değiştirmeniz yeterlidir.

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

Uygulama

Geçiş reklamlarını entegre etmenin temel adımları şunlardır:

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

InterstitialAd yapılandırın

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

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

     #include "firebase/gma/interstial_ad.h"
    

  2. Bir InterstitialAd nesnesi belirleyip beyan edin:

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

  3. Üst görünüm yayınınızı AdParent türünde kullanarak InterstitialAd örneğini başlatın. Üst görünüm, Android Activity için bir JNI jobject referansı veya iOS UIView ile ilgilidir.

    // 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. Değişken olarak geleceği saklamaya alternatif olarak, InterstitialAd nesnesine InitializeLastResult() işlevi çağırarak ilk kullanıma hazırlama işleminin durumunu belirli aralıklarla kontrol edebilirsiniz. Bu, genel oyun döngünüzdeki ilk kullanıma hazırlama 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 İşlemler'i kullanma konusuna bakın.

Reklam yükleme

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

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

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çin kaydolun

Geçiş reklamı sunumu ve yaşam döngüsü olaylarıyla ilgili bildirim almak için FullScreenContentListener sınıfını artırmanız gerekir. Özel FullScreenContentListener alt sınıfınız InterstitialAd::SetFullScreenContentListener() yöntemiyle kaydedilebilir ve reklam başarıyla veya başarısız olarak sunulduğunda ve kapatıldığında geri çağırmalar 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 da bir geçiş reklamının gösterildikten sonra tekrar gösterilmeyeceği anlamına gelir. Bir sonraki geçiş reklamı kapatıldığı anda yüklenmeye başlaması için en iyi uygulama, FullScreenContentListener reklam öğenizin OnAdDismissedFullScreenContent() yönteminde başka bir geçiş reklamı yüklemektir.

Reklamı görüntüle

Geçiş reklamları, bir uygulama akışında doğal duraklamalar sırasında gösterilmelidir. Oyun seviyeleri arasında veya kullanıcı bir görevi tamamladıktan sonra geçiş reklamları iyi bir örnektir. FullScreenContentListener bir reklamın tam ekran içeriğini ne zaman gösterdiğini belirlemek için kullanılabilir. Bununla birlikte, Show() tarafından döndürülen gelecekteki reklam da başarıyla gösterildiğ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ı değerlendirin.
Geçiş reklamları, doğal geçiş noktalarına sahip uygulamalarda en iyi sonucu verir. Uygulama içinde görev paylaşmak, örneğin resim paylaşmak veya oyun seviyesini tamamlamak gibi bir noktayı oluşturur. Kullanıcılar işlemde ara vermeyi beklediğinden, deneyimlerini kesintiye uğratmadan geçiş reklamını sunmak kolaydır. Uygulamanızın iş akışında hangi noktalarda geçiş reklamı göstereceğinizi ve kullanıcının nasıl yanıt verebileceğini dikkate aldığınızdan emin olun.
Geçiş reklamı gösterirken işlemi duraklatmayı unutmayın.
Bir dizi farklı geçiş reklamı türü vardır: metin, resim, video ve diğerleri. Uygulamanızda bir geçiş reklamı gösterildiğinde, reklamın bunlardan yararlanmasını sağlamak için bazı kaynakların kullanımını askıya alması önemlidir. Örneğin, bir geçiş reklamı görüntülemek üzere çağrı yaptığınızda, uygulamanızın oluşturduğu tüm ses çıkışlarını duraklattığınızdan emin olun. Sesleri, kullanıcının reklamla etkileşimi bittikten sonra başlatılacak olan yüklü FullScreenContentListener reklamınızın OnAdDismissedFullScreenContent yöntemiyle oynatmaya devam edebilirsiniz. Ayrıca, reklam görüntülenirken yoğun hesaplama görevlerini (ör. oyun döngüsü) geçici olarak durdurmayı düşünebilirsiniz. Bu, kullanıcının yavaş veya yanıt vermeyen grafik veya takılı video deneyimi yaşamamasını sağlar.
Yeterli yükleme süresine izin verin.
Geçiş reklamlarını uygun bir zamanda görüntülediğinizden emin olmak gibi, kullanıcının yüklenmesini beklemek zorunda kalmaması da önemlidir. Gösterilmeden önce reklamı önceden yüklemek, bir reklamı görüntülemek için hazır olduğunda uygulamanızın hazır şekilde tamamen yüklenmiş bir geçiş reklamı olmasını sağlayabilir.
Kullanıcıyı reklamlara maruz bırakmayın.
Uygulamanızdaki 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 olumsuz etkileyebilir ve daha düşük tıklama oranları elde edebilir. Kullanıcıların uygulamanızı kullanmaktan keyif alamayacakları için çok sık kesinti yaşamadıklarından emin olun.
Geçiş reklamını göstermek için yük tamamlamayı kullanmayın.
Bu, kötü bir kullanıcı deneyimine neden olabilir. Bunun yerine, göstermeden önce reklamı önceden yükleyin.

Ek kaynaklar

GitHub'da örnek

Mobil Reklam Garajı eğitim videoları

Başarı öyküleri

Sonraki adımlar