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 veya bir oyundaki seviyeler arasındaki duraklama sırasında) görüntülenirler. Uygulama geçiş reklamı gösterdiğinde kullanıcının, reklama dokunup hedefine devam etme veya reklamı kapatıp uygulamaya dönme seçeneği vardır.Ö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 işlemini tamamlayın.
- (Yalnızca Android) JNI
jobject
referanslarıyla ilgili bilgi sahibi olma (Android JNI ipuçlarına bakın).
Her zaman test reklamlarıyla test edin
Uygulamalarınızı oluştururken ve test ederken yayında olan üretim reklamları yerine test reklamlarını kullandığınızdan emin olun. Aksi takdirde hesabınız askıya alınabilir.
Test reklamlarını yüklemenin en kolay yolu, geçiş reklamlarına yönelik ö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
Bunlar, 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 işlemleri sırasında bunları kendi uygulamalarınızda kullanabilirsiniz. Uygulamanızı yayınlamadan önce kendi reklam birimi kimliğinizle değiştirmeniz yeterlidir.
Mobile Ads SDK'sının test reklamlarının işleyiş şekli hakkında daha fazla bilgi edinmek için Test Reklamları bölümüne bakın.
Uygulama
Geçiş reklamlarını entegre etmenin temel adımları şunlardır:
- Bir reklam yükleyin.
- Geri çağırma için kaydolun.
- Reklamı gösterin ve yaşam döngüsü olaylarını yönetin.
InterstitialAd
yapılandırın
Geçiş reklamları InterstitialAd
nesnede görüntülenir. Bu nedenle, geçiş reklamlarını uygulamanıza entegre etmenin ilk adımı bir InterstitialAd
nesnesi oluşturup başlatmaktır.
Aşağıdaki başlığı uygulamanızın C++ koduna ekleyin:
#include "firebase/gma/interstial_ad.h"
Bir
InterstitialAd
nesnesi belirleyip beyan edin:firebase::gma::InterstitialAd* interstitial_ad; interstitial_ad = new firebase::gma::InterstitialAd();
Üst görünüm yayınınızı
AdParent
türünde kullanarakInterstitialAd
örneğini başlatın. Üst görünüm, AndroidActivity
için bir JNIjobject
referansı veya iOSUIView
ile ilgilidir.// 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);
Değişken olarak geleceği saklamaya alternatif olarak,
InterstitialAd
nesnesineInitializeLastResult()
işlevi çağırarak ilk kullanıma hazırlama işleminin durumunu belirli aralıklarla kontrol edebilirsiniz. Bu, genel oyun döngünüzdeki ilk kullanıma hazırlama sürecini takip etmek için faydalı 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 Vadeli İşlemler'i kullanma konusuna bakın.
Reklam yükleme
Reklam yükleme işlemi, InterstitialAd
nesnesindeki LoadAd()
yöntemi kullanılarak gerçekleştirilir. Yükleme yöntemi için InterstitialAd
nesnesini başlatmış olmanız ve reklam birimi kimliğiniz ile bir AdRequest
nesnesinin olması gerekir. Yükleme işleminin durumunu ve sonucunu izlemek için kullanabileceğiniz bir firebase::Future
döndürülür.
InterstitialAd
başarıyla başlatıldıktan sonra reklamın nasıl yükleneceğini aşağıdaki kodda görebilirsiniz:
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ğırma için kaydolun
Geçiş reklamı sunumu ve yaşam döngüsü olaylarıyla ilgili bildirim almak için FullScreenContentListener
sınıfını artırmanız gerekir. Özel FullScreenContentListener
alt sınıfınız InterstitialAd::SetFullScreenContentListener()
yöntemiyle kaydedilebilir ve reklam başarıyla veya başarısız olarak sunulduğunda ve kapatıldığında geri çağırmalar alır.
Aşağıdaki kod, sınıfın nasıl genişletileceğini ve reklama nasıl atanacağını gösterir:
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 da bir geçiş reklamının gösterildikten sonra tekrar gösterilmeyeceği anlamına gelir. Bir sonraki geçiş reklamı kapatıldığı anda yüklenmeye başlaması için en iyi uygulama, FullScreenContentListener
reklam öğenizin OnAdDismissedFullScreenContent()
yönteminde başka bir geçiş reklamı yüklemektir.
Reklamı görüntüle
Geçiş reklamları, bir uygulama akışında doğal duraklamalar sırasında gösterilmelidir.
Oyun seviyeleri arasında veya kullanıcı bir görevi tamamladıktan sonra geçiş reklamları iyi bir örnektir.
FullScreenContentListener
bir reklamın tam ekran içeriğini ne zaman gösterdiğini belirlemek için kullanılabilir. Bununla birlikte, Show()
tarafından döndürülen gelecekteki reklam da başarıyla gösterildiğini belirtir.
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ına sahip uygulamalarda en iyi sonucu verir. Uygulama içinde görev paylaşmak, örneğin resim paylaşmak veya oyun seviyesini tamamlamak gibi bir noktayı oluşturur. Kullanıcılar işlemde ara vermeyi beklediğinden, deneyimlerini kesintiye uğratmadan geçiş reklamını sunmak kolaydır. Uygulamanızın iş akışında hangi noktalarda geçiş reklamı göstereceğinizi ve kullanıcının nasıl yanıt verebileceğini dikkate aldığınızdan emin olun.
- Geçiş reklamı gösterirken işlemi duraklatmayı unutmayın.
- Bir dizi farklı geçiş reklamı türü vardır: metin, resim, video ve diğerleri. Uygulamanızda bir geçiş reklamı gösterildiğinde, reklamın bunlardan yararlanmasını sağlamak için bazı kaynakların kullanımını askıya alması önemlidir. Örneğin, bir geçiş reklamı görüntülemek üzere çağrı yaptığınızda, uygulamanızın oluşturduğu tüm ses çıkışlarını duraklattığınızdan emin olun. Sesleri, kullanıcının reklamla etkileşimi bittikten sonra başlatılacak olan yüklü
FullScreenContentListener
reklamınızınOnAdDismissedFullScreenContent
yöntemiyle oynatmaya devam edebilirsiniz. Ayrıca, reklam görüntülenirken yoğun hesaplama görevlerini (ör. oyun döngüsü) geçici olarak durdurmayı düşünebilirsiniz. Bu, kullanıcının yavaş veya yanıt vermeyen grafik veya takılı video deneyimi yaşamamasını sağlar. - Yeterli yükleme süresine izin verin.
- Geçiş reklamlarını uygun bir zamanda görüntülediğinizden emin olmak gibi, kullanıcının yüklenmesini beklemek zorunda kalmaması da önemlidir. Gösterilmeden önce reklamı önceden yüklemek, bir reklamı görüntülemek için hazır olduğunda uygulamanızın hazır şekilde tamamen yüklenmiş bir geçiş reklamı olmasını sağlayabilir.
- Kullanıcıyı reklamlara maruz bırakmayın.
- Uygulamanızdaki geçiş reklamlarının sıklığını artırmak, geliri artırmanın iyi bir yolu gibi görünse de kullanıcı deneyimini olumsuz etkileyebilir ve daha düşük tıklama oranları elde edebilir. Kullanıcıların uygulamanızı kullanmaktan keyif alamayacakları için çok sık kesinti yaşamadıklarından emin olun.
- Geçiş reklamını göstermek için yük tamamlamayı kullanmayın.
- Bu, kötü bir kullanıcı deneyimine neden olabilir. Bunun yerine, göstermeden önce reklamı önceden yükleyin.
Ek kaynaklar
GitHub'da örnek
- GitHub'daki örnek hızlı başlangıç uygulamamızın kaynak kodunu görüntüleyin.
Mobil Reklam Garajı eğitim videoları
Başarı öyküleri
Sonraki adımlar
- Henüz yapmadıysanız AdMob kullanıcı arayüzünde kendi geçiş reklam biriminizi oluşturun.
- Reklam hedefleme ve geçiş reklamı yönergeleri hakkında bilgi edinin.