Geçiş reklamları

Geçiş reklamları, kullanıcı tarafından kapatılana kadar 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 oyundaki seviyeler arasındaki duraklama sırasında) gösterilir. Bir uygulama geçiş reklamı gösterdiğinde kullanıcı, reklama dokunup hedefine devam etme ya da reklamı kapatıp uygulamaya dönme arasında seçim yapabilir. Örnek olay.

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

Ö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, 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

Bu reklamlar, 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 reklamları kendi uygulamalarınızda kullanmakta serbestsiniz. 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.

Uygulama

Geçiş reklamlarını entegre etmek için ana adımlar şunlardır:

  1. Reklam yükleyin.
  2. Geri çağırmalara kaydolun.
  3. Reklamı görüntüleme ve reklamın yaşam döngüsü etkinliklerini ele alma.

InterstitialAd yapılandırın

Geçiş reklamları InterstitialAd nesneleri içinde görüntülenir, bu yüzden geçiş reklamlarını uygulamanıza entegre etmenin ilk adımı bir InterstitialAd nesnesi oluşturup başlatmaktır.

  1. Uygulamanızın C++ koduna şu üstbilgiyi ekleyin:

     #include "firebase/gma/interstial_ad.h"
    

  2. InterstitialAd nesnesi tanımlama ve örneklendirme:

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

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

    // 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 olarak kontrol edebilirsiniz. Bu, genel oyun döngünüzdeki başlatma sürecini takip ederken 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 edinmek 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 nesnesindeki LoadAd() yöntemi kullanılarak tamamlanır. Yükleme yöntemi, InterstitialAd nesnesini başlatmanızı ve reklam birimi kimliğiniz ile bir AdRequest nesnesine sahip olmanızı 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 bir reklamın nasıl yükleneceğini göstermektedir:

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ğırmalara kaydol

Geçiş reklamı sunumu ve yaşam döngüsü olaylarıyla ilgili 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ıyla veya başarısız olduğunda veya 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, bir geçiş reklamının gösterildikten sonra tekrar gösterilemeyeceği anlamına gelir. En iyi uygulama, FullScreenContentListener geçiş reklamınızın OnAdDismissedFullScreenContent() yöntemine başka bir geçiş reklamı yüklemektir. Böylece, sonraki geçiş reklamı, önceki geçiş reklamı kapatılırken hemen yüklenmeye başlar.

Reklamı görüntüleme

Geçiş reklamları, uygulama akışındaki doğal duraklamalar sırasında gösterilmelidir. Oyunun seviyeleri arasındakiler veya kullanıcı bir görevi tamamladıktan sonra gösterilen geçiş reklamları. FullScreenContentListener, bir reklamın tam ekran içeriğinin ne zaman gösterileceğini belirlemek için kullanılabilir. Bununla birlikte, Show() tarafından döndürülen gelecek, reklamın başarılı bir şekilde ne zaman 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ı 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 bir oyun seviyesini tamamlamak) böyle bir nokta oluşturur. Kullanıcı işlemde ara beklediğinden, deneyimini kesintiye uğratmadan geçiş reklamı sunmak kolaydır. Uygulamanızın iş akışının hangi noktalarında geçiş reklamlarını görüntüleyeceğinizi ve kullanıcının ne tür tepki 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, 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. Sesleri, kullanıcı reklamla etkileşimi bitirdiğinde çağrılacak olan yüklü FullScreenContentListener cihazınızın OnAdDismissedFullScreenContent yönteminde devam ettirebilirsiniz. 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 takılma sorunu yaşamamasını sağlar.
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ğlamak da önemlidir. Reklamı, göstermek istemediğiniz zaman önceden yüklemeniz, gösterim zamanı geldiğinde uygulamanızın tam olarak yüklenmiş bir geçiş reklamının olmasını sağlar.
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.
Geçiş reklamını göstermek için yükleme tamamlama geleceğini kullanmayın.
Bu durum, kötü bir kullanıcı deneyimine neden olabilir. Bunun yerine, reklamı göstermeniz gerekmeden önce yükleyin.

Ek kaynaklar

GitHub'da örnek

Mobile Ads Garage video eğiticileri

Başarı öyküleri

Sonraki adımlar