Banner Reklamlar

Banner reklamlar, uygulama düzeninde cihaz ekranının üst veya alt kısmında bir yer kaplar. Kullanıcılar uygulamayla etkileşim kurarken ekranda kalmaya devam eder ve belirli bir süre sonra otomatik olarak yenilenebilir. Mobil reklamcılıkta yeniyseniz bu reklamlar başlamak için idealdir. Ö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 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 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, 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 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

AdView yapılandırma

Banner reklamlar AdView nesnelerinde gösterilir. Bu nedenle, banner reklamları entegre etmenin ilk adımı bir AdView oluşturup konumlandırmaktır.

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

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

      firebase::gma::AdView* ad_view;
      ad_view = new firebase::gma::AdView();
  3. AdSize oluşturun ve AdParent ebeveyn görünümünü kullanarak reklam görünümünü ilk kullanıma hazırlayın. Üst görünüm, bir Android Activity için JNI jobject referansı veya AdParent türüne dönüştürülmüş 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<firebase::gma::AdParent>(my_ad_parent);
     firebase::Future result =
       ad_view->Initialize(ad_parent, kBannerAdUnit, firebase::gma::AdSize::kBanner);
  4. Geleceği değişken olarak tutmaya alternatif olarak, AdView 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 = 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 Future'ları kullanma başlıklı makaleyi inceleyin.

Reklamın konumunu ayarlama

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

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

Reklam yükleme

AdView başlatıldıktan sonra 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 bilgiler için özellikler içerir.

Reklamı gösterme

Son olarak, Show() yöntemini ç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ünümünün 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 içindeki yöntemleri genişletmek isteğe bağlıdır. Bu nedenle, yalnızca istediğiniz yöntemleri uygulamanız gerekir. Aşağıda, tüm AdListener yöntemleri sınıfı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.

Puan cinsinden boyut (GxY) Açıklama Kullanılabilirlik firebase::gma::AdSize sabiti
320x50 Banner Telefonlar ve Tabletler kBanner
320x100 Büyük Banner Telefonlar ve Tabletler kLargeBanner
300x250 IAB Orta Dikdörtgen Telefonlar ve Tabletler kMediumRectangle
468x60 IAB Tam Boyutlu Banner Tabletler kFullBanner
728x90 IAB Leaderboard 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 genişlik ve yükseklik parametreleriyle firebase::gma::AdSize oluşturucusunu kullanarak istediğiniz boyutları ayarlayın:

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

Ek kaynaklar

GitHub'daki örnek

Başarı öyküleri