Geçiş reklamları, kullanıcı tarafından kapatılana kadar bir uygulamanın arayüzünü kapsayan 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österilir. Bir uygulamada geçiş reklamı gösterildiğinde kullanıcı, reklama dokunup hedefine devam etme veya reklamı kapatıp uygulamaya dönme seçeneğine sahip olur. Örnek olay.
Bu kılavuzda, Google Mobile Ads C++ SDK'sı kullanılarak geçiş reklamlarının Android ve iOS uygulamalarına nasıl entegre edileceği açıklanmaktadır.
Ön koşullar
- Başlayın'ı tıklayın.
- (Yalnızca Android) JNI
jobject
referanslarıyla çalışma bilgisi (Android JNI ipuçlarına bakın).
Her zaman test reklamlarıyla test et
Uygulamalarınızı oluştururken ve test ederken, üretim aşamasındaki etkin 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ı için cihaz platformuna göre farklılık gösteren özel test reklam birimi kimliğimizi kullanmaktır:
- Android:
ca-app-pub-3940256099942544/1033173712
- iOS:
ca-app-pub-3940256099942544/4411468910
Her bir istek için test reklamları döndürecek şekilde özel olarak yapılandırılmışlardır. Kodlama, test ve hata ayıklama işlemleri sırasında bunları kendi uygulamalarınızda kullanabilirsiniz. Ancak, uygulamanızı yayınlamadan önce kendi reklam birimi kimliğinizle değiştirmeniz yeterlidir.
Mobile Ads SDK'sının test reklamlarının nasıl çalıştığı hakkında daha fazla bilgi için Reklamları Test Etme bölümüne bakın.
Uygulama
Geçiş reklamlarını entegre etmenin temel adımları şunlardır:
- Bir reklam yükleyin.
- Geri çağırmalar 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 tanımlayın ve örnekleyin: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, bir AndroidActivity
için kullanılan JNIjobject
referansı veya 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<void> result = interstitial_ad->Initialize(ad_parent);
Geleceği değişken olarak saklamaya alternatif olarak,
InterstitialAd
nesnesineInitializeLastResult()
çağırarak başlatma işleminin durumunu düzenli olarak kontrol edebilirsiniz. Bu, küresel oyun döngünüzdeki ilk kullanıma hazırlama 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 Vadeli İşlemler'i kullanma bölümüne bakın.
Reklam yükle
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
nesnesine sahip olmanız 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 bir reklamın nasıl yükleneceği aşağıdaki kodda 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 kaydolun
Geçiş reklamı sunumu ve yaşam döngüsü olaylarıyla ilgili bildirim almak için FullScreenContentListener
sınıfını genişletmeniz gerekir. Özel FullScreenContentListener
alt sınıfınız InterstitialAd::SetFullScreenContentListener()
yöntemi aracılığıyla 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 kod, sınıfı nasıl genişleteceğinizi ve reklama nasıl atayacağınızı 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. En iyi uygulama, FullScreenContentListener
reklamınızın OnAdDismissedFullScreenContent()
yönteminde başka bir geçiş reklamı yüklemektir. Böylece bir sonraki geçiş reklamı kapatıldığı anda yüklenmeye başlar.
Reklamı görüntüle
Geçiş reklamları, bir uygulamanın akışındaki doğal duraklamalar sırasında gösterilmelidir.
Bir oyunun seviyeleri arasında veya kullanıcı bir görevi tamamladıktan sonra geçiş reklamları gösterilmelidir.
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 reklam, reklamın 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ı, en iyi performansı doğal geçiş noktalarına sahip uygulamalarda gösterir. Uygulama içinde görev paylaşmak, örneğin resim paylaşmak veya oyunda bir seviyeyi tamamlamak gibi bir noktayı yaratır. Kullanıcı, işlemin kesintiye uğramasını beklediği için deneyimlerini kesintiye uğratmadan geçiş reklamı sunmak kolaydır. Uygulamanızın iş akışının hangi noktalarında geçiş reklamı göstereceğinizi ve kullanıcının nasıl yanıt verebileceğini dikkate aldığınızdan emin olun.
- Bir geçiş reklamı gösterirken işlemi duraklatmayı unutmayın.
- Birkaç geçiş reklamı türü vardır: metin, resim, video ve diğerleri. Uygulamanız bir geçiş reklamı gösterdiğinde, reklamın bunlardan yararlanması için bazı kaynakların kullanımını askıya alması da önemlidir. Örneğin, bir geçiş reklamı görüntülemek için çağrı yaptığınızda uygulamanız tarafından oluşturulan ses çıkışını duraklattığınızdan emin olun. Yüklü
FullScreenContentListener
cihazınızınOnAdDismissedFullScreenContent
yönteminde ses çalmaya devam edebilirsiniz. Kullanıcı reklamla etkileşimde bulunmayı bitirdiğinde bu uyarı çağrılır. Ayrıca, reklam görüntülenirken yoğun hesaplama görevlerini (oyun döngüsü gibi) geçici olarak durdurmayı düşünebilirsiniz. Bu sayede kullanıcı yavaş veya tepkisiz grafiklerle ya da takılmayla karşılaşmaz. - Yeterli yükleme süresine izin verin.
- Geçiş reklamlarını uygun bir zamanda gösterdiğinizden emin olmak gibi, kullanıcının yüklenmesini beklemek zorunda kalmaması da önemlidir. Siz reklamı göstermeden önce reklamı yüklerseniz, uygulamanız gösterildikten sonra tam olarak hazır bir geçiş reklamının bulunduğundan emin olabilirsiniz.
- Kullanıcıyı reklamlara boğmayın.
- Uygulamanızdaki geçiş reklamlarının sıklığını artırmak gelirinizi artırmak için iyi bir yol gibi görünse de kullanıcı deneyimini olumsuz yönde etkileyebilir ve tıklama oranlarını düşürebilir. Kullanıcıların, uygulamanızı kullanmaktan keyif alamayacak kadar sık kesinti yaşamadığından emin olun.
- Geçiş reklamını göstermek için yüklemenin gelecekte tamamlanmasını istemeyin.
- Bu durum kullanıcı deneyimini olumsuz yönde etkileyebilir. Bunun yerine, göstermeden önce reklamı önceden yükleyin.
Ek kaynaklar
GitHub'da örnek
- GitHub'da örneğimiz olan hızlı başlangıç uygulamamızın kaynak kodunu görüntüleyin.
Mobil Reklamlar Garajı video eğiticileri
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.