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.
Uygulamanızın C++ koduna aşağıdaki üstbilgeyi ekleyin:
#include "firebase/gma/ad_view.h"
Bir
AdView
nesnesi tanımlayıp örneklendirin:firebase::gma::AdView* ad_view; ad_view = new firebase::gma::AdView();
Bir
AdSize
oluşturun veAdParent
üst görünümünü kullanarak reklam görünümünü başlatın. Üst görünüm, bir AndroidActivity
için JNIjobject
referansı veyaAdParent
türüne yayınlanan bir iOSUIView
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); future değişkenini tutmak yerine,
AdView
nesnesindeInitializeLastResult()
ç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. }
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);
Banner boyutları
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
- Hızlı başlangıç kılavuzu uygulamamızın kaynak kodunu GitHub'da görüntüleyin.