Geçiş reklamları, kullanıcı tarafından kapatılana kadar uygulamanın arayüzünü kaplayan tam ekran reklamlardır. Genellikle bir uygulamanın akışındaki doğal geçiş noktalarında (ör. etkinlikler arasında veya oyunda seviyeler arasındaki duraklamalarda) gösterilirler. Bir uygulamada geçiş reklamı gösterildiğinde kullanıcı, reklama dokunup hedefine devam etme veya reklamı kapatıp uygulamaya geri dönme seçeneğini kullanabilir. Ö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 bölümünü tamamlayın.
- (Yalnızca Android) JNI
jobject
referanslarıyla çalışma hakkında bilgi (Android JNI ipuçları bölümüne bakın).
Her zaman test reklamlarıyla test etme
Uygulamalarınızı oluşturup 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
Özel olarak her istek için test reklamı döndürecek şekilde yapılandırılmışlardır. Kodlama, test etme ve hata ayıklama sırasında bu özelliği kendi uygulamalarınızda kullanabilirsiniz. Sadece uygulamanızı yayınlamadan önce bunu 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ı konusuna bakın.
Uygulama
Geçiş reklamlarını entegre etmek için başlıca adımlar şunlardır:
- Bir reklam yükleyin.
- Geri çağırma işlevleri için kaydolun.
- Reklamı görüntüleyin ve yaşam döngüsü olaylarını yönetin.
InterstitialAd
yapılandırın
Geçiş reklamları InterstitialAd
nesneleri halinde görüntülenir. Bu nedenle, geçiş reklamlarını uygulamanıza entegre etmenin ilk adımı bir InterstitialAd
nesnesi oluşturmak ve başlatmaktır.
Aşağıdaki başlığı uygulamanızın C++ koduna ekleyin:
#include "firebase/gma/interstial_ad.h"
Bir
InterstitialAd
nesnesini tanımlayın ve örneklendirin:firebase::gma::InterstitialAd* interstitial_ad; interstitial_ad = new firebase::gma::InterstitialAd();
Ana görünümünüzü
AdParent
türüne yayınlayarakInterstitialAd
örneğini başlatın. Üst görünüm, bir AndroidActivity
için JNIjobject
referansı veya bir iOSUIView
işaretçisi.// 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 aralıklarla kontrol edebilirsiniz. Bu, genel oyun döngünüzdeki başlatma 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 İşlemleri Kullanma bölümüne bakın.
Reklam yükle
Reklam yükleme, InterstitialAd
nesnesinde LoadAd()
yöntemi kullanılarak gerçekleştirilir. Yükleme yöntemi, InterstitialAd
nesnesini başlatmanızı ve reklam birimi kimliğiniz ile 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 kod, InterstitialAd
başarıyla başlatıldıktan sonra reklamın nasıl yükleneceğini gösterir:
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şlevleri için kaydolun
Geçiş reklamı sunumu ve yaşam döngüsü olayları hakkında 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ılı veya başarısız olduğunda ya da kapatıldığında geri çağırma 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ı gösterildikten sonra tekrar gösterilmeyeceği anlamına gelir. En iyi uygulama, FullScreenContentListener
uygulamanızın OnAdDismissedFullScreenContent()
yöntemine başka bir geçiş reklamı yüklemektir. Böylece bir sonraki geçiş reklamı önceki kapatılır kapatılmaz kısa sürede yüklenmeye başlar.
Reklamı görüntüleme
Geçiş reklamları, uygulama akışındaki doğal duraklamalar sırasında gösterilmelidir. Bir oyunun seviyeleri arasında veya kullanıcı bir görevi tamamladıktan sonra iyi bir örnek verilebilir.
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 gelecek için de reklamın başarıyla gösterilip gösterilmediğ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 uygulamalarda en iyi sonucu verir. Uygulama içinde bir görevin sonuçlanması (ör. resim paylaşma veya oyun seviyesini tamamlama), böyle bir nokta oluşturur. Kullanıcı işlemde ara vermeyi beklediği için kullanıcı deneyimini sekteye uğratmadan bir geçiş reklamı sunmak kolaydır. Uygulamanızın iş akışının hangi noktalarında geçiş reklamları göstereceğinizi ve kullanıcının nasıl yanıt verebileceğini göz önünde bulundurduğunuzdan emin olun.
- Bir geçiş reklamı görüntülerken işlemi duraklatmayı unutmayın.
- Metin, resim, video ve birkaç farklı geçiş reklamı türü vardır. Uygulamanızda bir geçiş reklamı görüntülendiğinde, reklamın bunlardan yararlanabilmesi için bazı kaynakların kullanımını askıya alması da önemlidir. Örneğin, bir geçiş reklamı göstermek için çağrı yaptığınızda, uygulamanızın ürettiği tüm ses çıkışlarını duraklattığınızdan emin olun. Sesleri çalmaya, yüklü
FullScreenContentListener
cihazınızınOnAdDismissedFullScreenContent
yönteminde devam edebilirsiniz. Bu yöntem, kullanıcı reklamla etkileşimi bitirdiğinde çağrılır. 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 kesintili video deneyimi yaşamamasını sağlar. - Yükleme süresi için yeterli süre tanıyın.
- Geçiş reklamlarını uygun bir zamanda görüntülediğinizden emin olmak kadar, kullanıcının bu reklamların yüklenmesini beklemek zorunda kalmamasını sağlamak da önemlidir. Reklamı göstermek istemediğinizden önce reklamı önceden yüklemek, gösterileceği zaman geldiğinde uygulamanızda tamamen yüklenmiş bir geçiş reklamı olmasını sağlayabilir.
- Kullanıcıyı reklama 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ı deneyiminin kalitesini düşürebilir ve tıklama oranlarını düşürebilir. Kullanıcıların, uygulamanızın keyfini süremeyecekleri kadar sık kesinti yaşamadıklarından emin olun.
- Geçiş reklamını göstermek için "yükleme tamamlama" gelecekteki halini kullanmayın.
- Bu durum, kötü bir kullanıcı deneyimine yol açabilir. Bunun yerine, göstermeniz için reklamı önceden yükleyin.
Ek kaynaklar
GitHub'da örnek
- GitHub'da örneğimizin hızlı başlangıç uygulamamızın kaynak kodunu görüntüleyin.
Mobile Ads Garage 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.