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 arasında veya oyun seviyeleri arasındaki duraklatmalar sırasında) gösterilir. Bir uygulama geçiş reklamı gösterdiğinde kullanıcı, reklama dokunup hedefe devam etme veya reklamı kapatıp uygulamaya dönme seçeneğiyle karşı karşıya kalır. Kasus çalışması.

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

  • Başlayın bölümünü tamamlayın.
  • (Yalnızca Android) JNI jobject referanslarıyla çalışma konusunda bilgi sahibi olmanız gerekir (Android JNI ipuçlarına bakın).

Her zaman test reklamlarıyla test yapın

Uygulamalarınızı oluşturup test ederken canlı üretim reklamları yerine test reklamları kullandığınızdan emin olun. Bunu yapmazsanız hesabınız askıya alınabilir.

Test reklamları yüklemenin en kolay yolu, cihaz platformuna göre değişen geçiş reklamları için özel test reklam birimi kimliğimizi kullanmaktır:

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

Bu reklamlar, 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 sırasında kendi uygulamalarınızda bu reklamları kullanabilirsiniz. Uygulamanızı yayınlamadan önce bu kimliği 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ı başlıklı makaleyi inceleyin.

Uygulama

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

  1. Reklam yükleyin.
  2. Geri arama için kaydolun.
  3. Reklamı gösterin ve yaşam döngüsü etkinliklerini yönetin.

InterstitialAd yapılandırın

Geçiş reklamları InterstitialAd nesnelerinde gösterilir. Bu nedenle, 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 aşağıdaki üstbilgeyi ekleyin:

     #include "firebase/gma/interstial_ad.h"

  2. Bir InterstitialAd nesnesi tanımlayıp örneklendirin:

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

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

    // 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 bir değişken olarak tutmaya alternatif olarak, InterstitialAd nesnesinde InitializeLastResult() çağrısını yaparak başlatma işleminin durumunu düzenli olarak kontrol edebilirsiniz. Bu, genel oyun döngüsünüzdeki başlatma sürecini takip etmek için yararlı 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 Futures'i kullanma başlıklı makaleyi inceleyin.

Reklam yükleme

Reklam yükleme işlemi, InterstitialAd nesnesinde LoadAd() yöntemi kullanılarak gerçekleştirilir. Yükleme yöntemi, InterstitialAd nesnesini başlatmanızı, reklam birimi kimliğinizin ve 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 kodda, InterstitialAd başarıyla başlatıldıktan sonra bir reklamın nasıl yükleneceği gösterilmektedir:

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

Geçiş reklamı sunumu ve yaşam döngüsü etkinlikleriyle ilgili bildirim almak için FullScreenContentListener sınıfını genişletmeniz gerekir. Özel FullScreenContentListener alt sınıfınız InterstitialAd::SetFullScreenContentListener() yöntemi aracılığıyla kaydedilebilir. Reklam başarıyla veya başarısız bir şekilde sunulduğunda ve kapatıldığında geri çağırma alır.

Aşağıdaki kodda, sınıfın nasıl genişletileceği ve reklama nasıl atanacağı gösterilmektedir:

  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, geçiş reklamının bir kez gösterildikten sonra tekrar gösterilemeyeceği anlamına gelir. En iyi uygulama, önceki geçiş reklamı kapatılır kapatılmaz bir sonraki geçiş reklamının yüklenmeye başlaması için FullScreenContentListener öğenizin OnAdDismissedFullScreenContent() yöntemine başka bir geçiş reklamı yüklemektir.

Reklamı gösterme

Geçiş reklamları, uygulamanın akışındaki doğal duraklamalar sırasında gösterilmelidir. Örneğin, bir oyunun seviyeleri arasında veya kullanıcı bir görevi tamamladıktan sonra gösterilebilir. 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 future, reklamın başarıyla gösterildiğini de bildirir.

  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ının olduğu uygulamalarda en iyi sonucu verir. Uygulama içinde resim paylaşma veya oyun seviyesini bitirme gibi bir görevin tamamlanması, geçiş noktası olarak değerlendirilebilir. Kullanıcı, oyunda ara verme bekler. Bu nedenle, deneyimini kesintiye uğratmadan geçiş reklamı göstermek kolaydır. Geçiş reklamlarını uygulamanızın iş akışında hangi noktalarda göstereceğinizi ve kullanıcının nasıl yanıt verebileceğini göz önünde bulundurun.
Geçiş reklamı gösterirken işlemi duraklatmayı unutmayın.
Metin, resim, video ve daha fazlası gibi birkaç farklı türde geçiş reklamı kullanabilirsiniz. Uygulamanız bir geçiş reklamı gösterdiğinde, reklamın bu kaynaklardan yararlanabilmesi için bazı kaynakların kullanımını da askıya alması önemlidir. Örneğin, geçiş reklamı gösterme çağrısı yaptığınızda uygulamanız tarafından üretilen tüm ses çıkışlarını duraklattığınızdan emin olun. Kullanıcı reklamla etkileşimi bitirdiğinde çağrılacak olan yüklü FullScreenContentListener'ınızın OnAdDismissedFullScreenContent yönteminde ses oynatmaya devam edebilirsiniz. Ayrıca, reklam gösterilirken yoğun hesaplama görevlerini (ör. oyun döngüsü) geçici olarak duraklatabilirsiniz. Bu sayede kullanıcı, yavaş veya yanıt vermeyen grafikler ya da takılan videolar yaşamaz.
Yeterli yükleme süresi tanıyın.
Geçiş reklamlarını uygun bir zamanda göstermenizin yanı sıra kullanıcının reklamların yüklenmesini beklemek zorunda kalmaması da önemlidir. Reklamı göstermeden önce önceden yüklemek, uygulamanızda reklamı gösterme zamanı geldiğinde tamamen yüklenmiş bir geçiş reklamının hazır olmasını sağlayabilir.
Kullanıcıyı reklamlarla 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ı deneyimini olumsuz etkileyebilir ve tıklama oranlarını düşürebilir. Kullanıcıların uygulamanızı kullanmanın keyfini çıkaramayacak kadar sık kesintiye uğramamasını sağlayın.
Geçiş reklamını göstermek için yükleme tamamlanma gelecek işlevini kullanmayın.
Bu durum, kullanıcı deneyiminin kötüleşmesine neden olabilir. Bunun yerine, reklamı göstermeniz gerekmeden önce önceden yükleyin.

Ek kaynaklar

GitHub'daki örnek

Mobile Ads Garage video eğitimleri

Başarı öyküleri

Sonraki adımlar