Banner Reklamlar

Banner reklamlar, uygulamanın düzeninde cihaz ekranının üst veya alt kısmında bir yer kaplar. Kullanıcılar uygulamayla etkileşim kurarken banner reklam ekranda kalmaya devam eder ve belirli bir süre sonra otomatik olarak yenilenebilir. Mobil reklamcılık konusunda yeniyseniz bu kaynaklardan yararlanabilirsiniz. Örnek olay.

Ö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. Aksi takdirde hesabınız askıya alınabilir.

Test reklamları yüklemenin en kolay yolu, banner'lar 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/6300978111
  • iOS: ca-app-pub-3940256099942544/2934735716

Bu reklam birimi kimlikleri, 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 kimlikleri 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

AdView yapılandırın

Banner reklamlar AdView nesnelerinde gösterilir. Bu nedenle, banner reklamları entegre etmeye yönelik ilk adım bir AdView oluşturmak ve konumlandırmaktır.

  1. Uygulamanızın C++ koduna aşağıdaki üstbilgeyi ekleyin:

     #include "firebase/gma/ad_view.h"
    
  2. Bir AdView nesnesi tanımlayıp örneklendirin:

      firebase::gma::AdView* ad_view;
      ad_view = new firebase::gma::AdView();
    
  3. Bir AdSize oluşturun ve AdParent üst görünümünü kullanarak reklam görünümünü başlatın. Üst görünüm, bir Android Activity için JNI jobject referansı veya AdParent türüne yayınlanan bir 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(my_ad_parent);
     firebase::Future result =
       ad_view->Initialize(ad_parent, kBannerAdUnit, firebase::gma::AdSize::kBanner);
    
  4. future değişkenini tutmak yerine, AdView 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 = ad_view->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.
      }
    
  5. 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ın konumunu ayarlama

AdView öğesinin konumunu, başlatıldıktan sonra istediğiniz zaman ayarlayabilirsiniz:

firebase::Future<void> result = ad_view->SetPosition(firebase::gma::AdView::kPositionTop);

Reklam yükleme

AdView başlatıldıktan sonra bir reklam yükleyebilirsiniz:

firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result = ad_view->LoadAd(my_ad_request);

AdRequest nesneleri tek bir reklam isteğini temsil eder ve hedefleme gibi bilgilere yönelik özellikleri içerir.

Reklamı gösterme

Son olarak, Show() işlevini çağırarak reklamı ekranda gösterin. Bu yöntem, reklam başlatıldıktan sonra herhangi bir zamanda çağrılabilir:

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

Reklam etkinlikleri

Google Mobile Ads C++ SDK'sı, reklam görüntüleme durumundaki değişikliklerden haberdar olmak için genişletebileceğiniz ve AdView::SetListener() sınıfına iletebileceğiniz bir AdListener sınıfı sağlar.

AdListener'te yöntemleri genişletmek isteğe bağlıdır. Bu nedenle, yalnızca istediğiniz yöntemleri uygulamanız gerekir. Aşağıda, AdListener yöntemleri sınıfının tümünü genişleten bir sınıfın örnek uygulaması verilmiştir:

class ExampleAdListener
    : public firebase::gma::AdListener {
 public:
  ExampleAdListener() {}
  void OnAdClicked() override {
    // This method is invoked when the user clicks the ad.
  }

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

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

  void OnAdOpened() override {
    // This method is invoked when an ad opens an overlay that covers the screen.
  }
};

ExampleAdListener* ad_listener = new ExampleAdListener();
ad_view->SetAdListener(ad_listener);

Aşağıdaki tabloda standart banner boyutları listelenmiştir.

Nokta cinsinden boyut (GxY) Açıklama Kullanılabilirlik firebase::gma::AdSize sabit
320x50 Banner Telefonlar ve Tabletler kBanner
320x100 Büyük Banner Telefonlar ve Tabletler kLargeBanner
300x250 IAB Orta Boy Dikdörtgen Telefonlar ve Tabletler kMediumRectangle
468x60 IAB Tam Boyutlu Banner Tabletler kFullBanner
728x90 IAB Liderler Tablosu Tabletler kLeaderboard
Sağlanan genişlik x Uyarlanabilir yükseklik Uyarlanabilir banner Telefonlar ve Tabletler Yok

Özel reklam boyutları

Özel bir banner boyutu tanımlamak için burada gösterildiği gibi genişlik ve yükseklik parametreleriyle firebase::gma::AdSize yapıcısını kullanarak istediğiniz boyutları ayarlayın:

firebase::gma::AdSize ad_size(/*width=*/320, /*height=*/50);

Ek kaynaklar

GitHub'daki örnek

Başarı öyküleri