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 arasında veya oyun seviyeleri arasındaki duraklatmalar sırasında) gösterilir. Bir uygulama geçiş reklamı gösterdiğinde kullanıcı, reklama dokunup hedefe devam etme veya reklamı kapatıp uygulamaya dönme seçeneğiyle karşı karşıya kalır. Kasus çalışması.
Bu kılavuzda, Google Mobile Ads C++ SDK'sını kullanarak geçiş reklamlarının Android ve iOS uygulamalarına nasıl entegre edileceği gösterilmektedir.
Ö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. Bunu yapmazsanız hesabınız askıya alınabilir.
Test reklamları yüklemenin en kolay yolu, cihaz platformuna göre değişen geçiş reklamları için özel test reklam birimi kimliğimizi kullanmaktır:
- Android:
ca-app-pub-3940256099942544/1033173712
- iOS:
ca-app-pub-3940256099942544/4411468910
Bu reklamlar, 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 reklamları 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
Geçiş reklamlarını entegre etmenin ana adımları şunlardır:
- Reklam yükleyin.
- Geri arama için kaydolun.
- Reklamı gösterin ve yaşam döngüsü etkinliklerini yönetin.
InterstitialAd
yapılandırın
Geçiş reklamları InterstitialAd
nesnelerinde gösterilir. Bu nedenle, geçiş reklamlarını uygulamanıza entegre etmenin ilk adımı bir InterstitialAd
nesnesi oluşturup başlatmaktır.
Uygulamanızın C++ koduna aşağıdaki üstbilgeyi ekleyin:
#include "firebase/gma/interstial_ad.h"
Bir
InterstitialAd
nesnesi tanımlayıp örneklendirin:firebase::gma::InterstitialAd* interstitial_ad; interstitial_ad = new firebase::gma::InterstitialAd();
Üst görünümünüzü bir
AdParent
türüne yayınlayarakInterstitialAd
örneğini başlatın. Üst görünüm, AndroidActivity
için bir JNIjobject
referansı veya iOSUIView
için bir işaretçidir.// 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 bir değişken olarak tutmaya alternatif olarak,
InterstitialAd
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 = 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 Futures'i kullanma başlıklı makaleyi inceleyin.
Reklam yükleme
Reklam yükleme işlemi, InterstitialAd
nesnesinde LoadAd()
yöntemi kullanılarak gerçekleştirilir. Yükleme yöntemi, InterstitialAd
nesnesini başlatmanızı, reklam birimi kimliğinizin ve bir AdRequest
nesnenizin olmasını gerektirir. Yükleme işleminin durumunu ve sonucunu izlemek için kullanabileceğiniz bir firebase::Future
döndürülür.
Aşağıdaki kodda, InterstitialAd
başarıyla başlatıldıktan sonra bir reklamın nasıl yükleneceği 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 arama için kaydolun
Geçiş reklamı sunumu ve yaşam döngüsü etkinlikleriyle 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. Reklam başarıyla veya başarısız bir şekilde sunulduğunda ve kapatıldığında geri çağırma alır.
Aşağıdaki kodda, sınıfın nasıl genişletileceği ve reklama nasıl atanacağı gösterilmektedir:
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, geçiş reklamının bir kez gösterildikten sonra tekrar gösterilemeyeceği anlamına gelir. En iyi uygulama, önceki geçiş reklamı kapatılır kapatılmaz bir sonraki geçiş reklamının yüklenmeye başlaması için FullScreenContentListener
öğenizin OnAdDismissedFullScreenContent()
yöntemine başka bir geçiş reklamı yüklemektir.
Reklamı gösterme
Geçiş reklamları, uygulamanın akışındaki doğal duraklamalar sırasında gösterilmelidir. Örneğin, bir oyunun seviyeleri arasında veya kullanıcı bir görevi tamamladıktan sonra gösterilebilir.
FullScreenContentListener
, bir reklamın tam ekran içeriğini ne zaman gösterdiğini belirlemek için kullanılabilir. Ancak Show()
tarafından döndürülen future, reklamın başarıyla gösterildiğini de bildirir.
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ı düşünün.
- Geçiş reklamları, doğal geçiş noktalarının olduğu uygulamalarda en iyi sonucu verir. Uygulama içinde resim paylaşma veya oyun seviyesini bitirme gibi bir görevin tamamlanması, geçiş noktası olarak değerlendirilebilir. Kullanıcı, oyunda ara verme bekler. Bu nedenle, deneyimini kesintiye uğratmadan geçiş reklamı göstermek kolaydır. Geçiş reklamlarını uygulamanızın iş akışında hangi noktalarda göstereceğinizi ve kullanıcının nasıl yanıt verebileceğini göz önünde bulundurun.
- Geçiş reklamı gösterirken işlemi duraklatmayı unutmayın.
- Metin, resim, video ve daha fazlası gibi birkaç farklı türde geçiş reklamı kullanabilirsiniz. Uygulamanız bir geçiş reklamı gösterdiğinde, reklamın bu kaynaklardan yararlanabilmesi için bazı kaynakların kullanımını da askıya alması önemlidir. Örneğin, geçiş reklamı gösterme çağrısı yaptığınızda uygulamanız tarafından üretilen tüm ses çıkışlarını duraklattığınızdan emin olun. Kullanıcı reklamla etkileşimi bitirdiğinde çağrılacak olan yüklü
FullScreenContentListener
'ınızınOnAdDismissedFullScreenContent
yönteminde ses oynatmaya devam edebilirsiniz. Ayrıca, reklam gösterilirken yoğun hesaplama görevlerini (ör. oyun döngüsü) geçici olarak duraklatabilirsiniz. Bu sayede kullanıcı, yavaş veya yanıt vermeyen grafikler ya da takılan videolar yaşamaz. - Yeterli yükleme süresi tanıyın.
- Geçiş reklamlarını uygun bir zamanda göstermenizin yanı sıra kullanıcının reklamların yüklenmesini beklemek zorunda kalmaması da önemlidir. Reklamı göstermeden önce önceden yüklemek, uygulamanızda reklamı gösterme zamanı geldiğinde tamamen yüklenmiş bir geçiş reklamının hazır olmasını sağlayabilir.
- Kullanıcıyı reklamlarla boğmayın.
- Uygulamanızda geçiş reklamlarının sıklığını artırmak, geliri artırmanın mükemmel bir yolu gibi görünse de kullanıcı deneyimini olumsuz etkileyebilir ve tıklama oranlarını düşürebilir. Kullanıcıların uygulamanızı kullanmanın keyfini çıkaramayacak kadar sık kesintiye uğramamasını sağlayın.
- Geçiş reklamını göstermek için yükleme tamamlanma gelecek işlevini kullanmayın.
- Bu durum, kullanıcı deneyiminin kötüleşmesine neden olabilir. Bunun yerine, reklamı göstermeniz gerekmeden önce önceden yükleyin.
Ek kaynaklar
GitHub'daki örnek
- GitHub'da örnek hızlı başlangıç uygulamamızın kaynak kodunu görüntüleyin.
Mobile Ads Garage video eğitimleri
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.