Geçiş reklamları, kullanıcı tarafından kapatılana kadar 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 oyundaki seviyeler arasındaki duraklama sırasında) gösterilir. Bir uygulama geçiş reklamı gösterdiğinde kullanıcı, reklama dokunup hedefine devam etme ya da reklamı kapatıp uygulamaya dönme arasında seçim yapabilir. Örnek olay.
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şlarken bölümünü tamamlayın.
- (Yalnızca Android) JNI
jobject
referanslarıyla çalışma konusunda bilgi (Android JNI ipuçları sayfasına bakın).
Her zaman test reklamlarıyla test etme
Uygulamalarınızı oluştururken ve test ederken canlı, ü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ı için özel test reklam birimi kimliğimizi kullanmaktır. Bu kimlik, cihaz platformuna göre değişir:
- Android:
ca-app-pub-3940256099942544/1033173712
- iOS:
ca-app-pub-3940256099942544/4411468910
Bu reklamlar, her istek için test reklamı döndürecek şekilde özel olarak yapılandırılmıştır. Kodlama, test etme ve hata ayıklama sırasında bu reklamları kendi uygulamalarınızda kullanmakta serbestsiniz. Uygulamanızı yayınlamadan önce bu kimliği kendi reklam birimi kimliğinizle değiştirdiğinizden emin olmanız yeterlidir.
Mobile Ads SDK'sının test reklamlarının nasıl çalıştığı hakkında daha fazla bilgi için Test Reklamları bölümüne bakın.
Uygulama
Geçiş reklamlarını entegre etmek için ana adımlar şunlardır:
- Reklam yükleyin.
- Geri çağırmalara kaydolun.
- Reklamı görüntüleme ve reklamın yaşam döngüsü etkinliklerini ele alma.
InterstitialAd
yapılandırın
Geçiş reklamları InterstitialAd
nesneleri içinde görüntülenir, bu yüzden geçiş reklamlarını uygulamanıza entegre etmenin ilk adımı bir InterstitialAd
nesnesi oluşturup başlatmaktır.
Uygulamanızın C++ koduna şu üstbilgiyi ekleyin:
#include "firebase/gma/interstial_ad.h"
InterstitialAd
nesnesi tanımlama ve örneklendirme:firebase::gma::InterstitialAd* interstitial_ad; interstitial_ad = new firebase::gma::InterstitialAd();
InterstitialAd
örneğini,AdParent
türünde üst görünüm yayınlamanızı kullanarak başlatın. Üst görünüm, AndroidActivity
için bir JNIjobject
referansı veya 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 tutmaya alternatif olarak,
InterstitialAd
nesnesindeInitializeLastResult()
yöntemini çağırarak başlatma işleminin durumunu düzenli olarak kontrol edebilirsiniz. Bu, genel oyun döngünüzdeki başlatma sürecini takip ederken 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 edinmek için Yöntem çağrılarının tamamlanma durumunu izlemek için Vadeli İşlemleri kullanma bölümüne bakın.
Reklam yükle
Reklam yükleme, InterstitialAd
nesnesindeki LoadAd()
yöntemi kullanılarak tamamlanır. Yükleme yöntemi, InterstitialAd
nesnesini başlatmanızı ve reklam birimi kimliğiniz ile bir AdRequest
nesnesine sahip olmanızı gerektirir. Yükleme işleminin durumunu ve sonucunu izlemek için kullanabileceğiniz bir firebase::Future
döndürülür.
Aşağıdaki kod, InterstitialAd
başarıyla başlatıldıktan sonra bir reklamın nasıl yükleneceğini göstermektedir:
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ğırmalara kaydol
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öntemiyle kaydedilebilir ve reklam başarıyla veya başarısız olduğunda veya 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, bir geçiş reklamının gösterildikten sonra tekrar gösterilemeyeceği anlamına gelir. En iyi uygulama, FullScreenContentListener
geçiş reklamınızın OnAdDismissedFullScreenContent()
yöntemine başka bir geçiş reklamı yüklemektir. Böylece, sonraki geçiş reklamı, önceki geçiş reklamı kapatılırken hemen yüklenmeye başlar.
Reklamı görüntüleme
Geçiş reklamları, uygulama akışındaki doğal duraklamalar sırasında gösterilmelidir.
Oyunun seviyeleri arasındakiler veya kullanıcı bir görevi tamamladıktan sonra gösterilen geçiş reklamları.
FullScreenContentListener
, bir reklamın tam ekran içeriğinin ne zaman gösterileceğini belirlemek için kullanılabilir. Bununla birlikte, Show()
tarafından döndürülen gelecek, reklamın başarılı bir şekilde ne zaman 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ı düşünün.
- Geçiş reklamları, doğal geçiş noktalarına sahip olan uygulamalarda en iyi sonucu verir. Uygulama içinde bir görev tamamlamak (ör. resim paylaşmak veya bir oyun seviyesini tamamlamak) böyle bir nokta oluşturur. Kullanıcı işlemde ara beklediğinden, deneyimini kesintiye uğratmadan geçiş reklamı sunmak kolaydır. Uygulamanızın iş akışının hangi noktalarında geçiş reklamlarını görüntüleyeceğinizi ve kullanıcının ne tür tepki verebileceğini göz önünde bulundurmaya dikkat edin.
- Geçiş reklamı görüntülerken işlemi duraklatmayı unutmayın.
- Metin, resim, video ve daha birçok farklı türde geçiş reklamı bulunur. Uygulamanız geçiş reklamı görüntülediğinde bazı kaynakların kullanımını askıya alarak reklamın bunlardan yararlanabilmesini sağlar. Örneğin, geçiş reklamı görüntüleme çağrısı yaptığınızda uygulamanız tarafından üretilen tüm ses çıkışlarını duraklattığınızdan emin olun. Sesleri, kullanıcı reklamla etkileşimi bitirdiğinde çağrılacak olan yüklü
FullScreenContentListener
cihazınızınOnAdDismissedFullScreenContent
yönteminde devam ettirebilirsiniz. Ayrıca, reklam gösterilirken yoğun hesaplama görevlerini (oyun döngüsü gibi) geçici olarak durdurabilirsiniz. Bu, kullanıcının yavaş veya yanıt vermeyen grafikler ya da takılma sorunu yaşamamasını sağlar. - Yeterli yükleme süresi tanıyın.
- Geçiş reklamlarını uygun zamanda gösterdiğinizden emin olmanın yanı sıra kullanıcının bu reklamların yüklenmesini beklemek zorunda kalmamasını sağlamak da önemlidir. Reklamı, göstermek istemediğiniz zaman önceden yüklemeniz, gösterim zamanı geldiğinde uygulamanızın tam olarak yüklenmiş bir geçiş reklamının olmasını sağlar.
- Kullanıcıyı reklamlarla doldurmayın.
- Uygulamanızda 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 ve tıklama oranlarını düşürebilir. Kullanıcıların uygulama deneyiminizin keyfini çıkaramayacak kadar sık kesinti yaşamadığından emin olun.
- Geçiş reklamını göstermek için yükleme tamamlama geleceğini kullanmayın.
- Bu durum, kötü bir kullanıcı deneyimine neden olabilir. Bunun yerine, reklamı göstermeniz gerekmeden önce yükleyin.
Ek kaynaklar
GitHub'da örnek
- Örnek hızlı başlangıç uygulamamızın kaynak kodunu GitHub'da görüntüleyin.
Mobile Ads Garage 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.