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 veya bir oyundaki seviyeler arasındaki duraklama sırasında) gösterilir. Bir uygulama geçiş reklamı gösterdiğinde kullanıcı, reklamı dokunup hedefine gitme veya kapatıp uygulamaya dönme seçeneklerinden birini tercih edebilir. Ö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

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

Her zaman test reklamlarıyla test edin

Uygulamalarınızı oluştururken ve test ederken yayındaki, üretim aşamasındaki reklamlar yerine test reklamlarını kullandığınızdan emin olun. Bu koşula uymamanız halinde 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şiklik gösterir:

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

Bu kimlikler, 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 bunları kendi uygulamalarınızda kullanabilirsiniz. Uygulamanızı yayınlamadan önce bu kimliği kendi reklam birimi kimliğinizle değiştirmeyi unutmayın.

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

Uygulama

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

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

InterstitialAd yapılandırma

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 ilk kullanıma hazırlamaktır.

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

     #include "firebase/gma/interstial_ad.h"

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

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

  3. InterstitialAd örneğini, üst görünümünüzü AdParent türüne dönüştürerek başlatın. Ebeveyn görünümü, bir Android Activity için JNI jobject referansı veya bir iOS UIView için 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() yöntemini çağırarak başlatma işleminin durumunu düzenli olarak kontrol edebilirsiniz. Bu, global oyun döngü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 Future'ları kullanma başlıklı makaleyi inceleyin.

Reklam yükleme

Reklam yükleme işlemi, InterstitialAd nesnesindeki LoadAd() yöntemi kullanılarak gerçekleştirilir. Yükleme yöntemi, InterstitialAd nesnesini başlatmış olmanızı, reklam birimi kimliğinizi ve bir AdRequest nesnesini 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 çağırmalar için kaydolma

Geçiş reklamı sunumu ve yaşam döngüsü etkinlikleriyle ilgili bildirimleri 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 bir şekilde sunulduğunda ve kapatıldığında geri çağırmalar 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, bir geçiş reklamı gösterildikten sonra tekrar gösterilemeyeceği anlamına gelir. En iyi uygulama, FullScreenContentListener öğenizin OnAdDismissedFullScreenContent() yönteminde başka bir geçiş reklamı yüklemektir. Böylece, önceki geçiş reklamı kapatılır kapatılmaz bir sonraki geçiş reklamı yüklenmeye başlar.

Reklamı gösterme

Geçiş reklamları, uygulamanın akışındaki doğal duraklamalar sırasında gösterilmelidir. Oyun seviyeleri arasındaki geçişler veya kullanıcının bir görevi tamamlamasından sonraki anlar buna iyi birer örnektir. FullScreenContentListener, bir reklamın tam ekran içeriğini ne zaman gösterdiğini belirlemek için kullanılabilirken Show() tarafından döndürülen gelecek, reklamın ne zaman 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ı değerlendirin.
Geçiş reklamları, doğal geçiş noktaları olan uygulamalarda en iyi sonucu verir. Uygulama içinde resim paylaşma veya oyun seviyesini bitirme gibi bir görevin tamamlanması, bu tür bir nokta oluşturur. Kullanıcı, işlemde bir kesinti 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ı 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 çeşitli geçiş reklamı türleri vardır. Uygulamanız bir geçiş reklamı gösterdiğinde, reklamın bazı kaynaklardan yararlanabilmesi için uygulamanın bu kaynakları kullanmayı askıya alması önemlidir. Örneğin, geçiş reklamı göstermek için çağrı yaptığınızda uygulamanız tarafından üretilen tüm ses çıkışlarını duraklattığınızdan emin olun. Kullanıcı reklamla etkileşimi tamamladığında çağrılacak olan yüklü FullScreenContentListener öğenizin OnAdDismissedFullScreenContent yönteminde sesleri çalmaya devam edebilirsiniz. Ayrıca, reklam gösterilirken yoğun hesaplama görevlerini (ör. oyun döngüsü) geçici olarak durdurmayı da düşünebilirsiniz. Bu sayede kullanıcı, yavaş veya yanıt vermeyen grafikler ya da kesintili video deneyimi yaşamaz.
Yükleme için yeterli süre tanıyın.
Görüntülü Ağ geçiş reklamlarını uygun bir zamanda göstermek kadar, kullanıcıların bu reklamların yüklenmesini beklemek zorunda kalmamasını sağlamak da önemlidir. Reklamı göstermeyi planladığınız zamandan önce yüklemek, uygulamanızın reklam gösterme zamanı geldiğinde tamamen yüklenmiş bir geçiş reklamına sahip olmasını sağlayabilir.
Kullanıcıyı reklama boğmayın.
Uygulamanızdaki geçiş reklamlarının sıklığını artırmak gelirinizi artırmanın muhteşem bir yolu gibi görünse de kullanıcı deneyimini kötüleştirebilir ve tıklama oranlarını düşürebilir. Kullanıcıların, uygulamanızı kullanmaktan keyif alamayacakları kadar sık kesintiye uğramadığından emin olun.
Geçiş reklamını göstermek için yükleme tamamlama geleceğini kullanmayın.
Bu durum, kullanıcı deneyimini olumsuz etkileyebilir. Bunun yerine, reklamı göstermeniz gerekmeden önce önceden yükleyin.

Ek kaynaklar

GitHub'daki örnek

Mobil Reklamlar Atölyesi eğitim videoları

Başarı öyküleri

Sonraki adımlar