Geçiş reklamları, kullanıcı tarafından kapatılana kadar bir uygulamanın arayüzünü kaplayan tam ekran reklamlardır. Genellikle bir uygulamanın akışındaki doğal geçiş noktalarında (ör. işlemler 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 hedefine gitmeyi veya reklamı kapatıp uygulamaya dönmeyi seçebilir. Vaka çalışması.
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 konusunda deneyimli olmanız (bkz. Android JNI ipuçları).
Her zaman test reklamlarıyla test yapın
Uygulamalarınızı oluşturup test ederken canlı yayınlanan üretim reklamları yerine test reklamlarını kullandığınızdan emin olun. Bu işlemi yapmazsanız hesabınız askıya alınabilir.
Test reklamlarını 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 kimlikler, 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 kimlikleri 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 çalışma şekli hakkında daha fazla bilgi için Test Reklamları başlıklı makaleyi inceleyin.
Uygulama
Geçiş reklamlarını entegre etmenin başlıca adımları şunlardır:
- Reklam yükleyin.
- Geri arama için kaydolun.
- Reklamı gösterir ve yaşam döngüsü etkinliklerini işler.
InterstitialAd
yapılandırma
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 başlığı ekleyin:
#include "firebase/gma/interstial_ad.h"
Bir
InterstitialAd
nesnesi bildirip oluşturun:firebase::gma::InterstitialAd* interstitial_ad; interstitial_ad = new firebase::gma::InterstitialAd();
InterstitialAd
örneğini, üst görünümünüzüAdParent
türüne yayınlayarak başlatın. Üst görünüm, bir AndroidActivity
için 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 tutmak yerine,
InitializeLastResult()
işleviniInterstitialAd
nesnesinde çağırarak başlatma işleminin durumunu düzenli olarak kontrol edebilirsiniz. Bu, küresel oyun döngünüzdeki başlatma sürecini takip etmenize yardımcı 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'ı kullanma başlıklı makaleyi inceleyin.
Reklam yükleme
Reklam yükleme işlemi, LoadAd()
nesnesinde InterstitialAd
yöntemi kullanılarak gerçekleştirilir. Yükleme yöntemi, InterstitialAd
nesnesini başlatmış olmanızı, reklam birimi kimliğinizi ve bir AdRequest
nesnenizi kullanmanı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 kodda, InterstitialAd
başarıyla başlatıldıktan sonra 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 kaydolma
Geçiş reklamı sunumu ve yaşam döngüsü etkinlikleriyle ilgili bildirimler almak için FullScreenContentListener
sınıfını genişletmeniz gerekir. Özel
FullScreenContentListener
alt sınıfınız, InterstitialAd::SetFullScreenContentListener()
yöntemiyle kaydedilebilir. Reklam başarıyla veya başarısız bir şekilde sunulduğunda ve kapatıldığında geri çağırma işlemleri 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, bir geçiş reklamı gösterildikten sonra tekrar gösterilemeyeceği anlamına gelir. En iyi uygulama, OnAdDismissedFullScreenContent()
yönteminde başka bir geçiş reklamı yüklemektir. Böylece, önceki geçiş reklamı kapatılır kapatılmaz bir sonraki geçiş reklamı yüklenmeye başlar.FullScreenContentListener
Reklamı görüntüleme
Geçiş reklamları, uygulamanın akışındaki doğal duraklamalar sırasında gösterilmelidir.
Bir oyunun seviyeleri arasındaki geçişler veya kullanıcının bir görevi tamamlaması bu duraklamalara örnek olarak verilebilir.
FullScreenContentListener
, bir reklamın tam ekran içeriğini ne zaman gösterdiğini belirlemek için kullanılabilirken Show()
tarafından döndürülen gelecek, reklamın ne zaman başarıyla gösterildiğini de işaret eder.
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ı olan uygulamalarda en iyi performansı gösterir. Uygulama içinde resim paylaşma veya oyun seviyesini bitirme gibi bir görevin tamamlanması, bu tür bir nokta oluşturur. Kullanıcı, işlemde bir ara beklediği için deneyimini kesintiye uğratmadan bir geçiş reklamı göstermek kolaydır. Uygulamanızın iş akışında hangi noktalarda geçiş reklamları göstereceğinizi ve kullanıcının nasıl yanıt vereceğini göz önünde bulundurduğunuzdan emin olun.
- Geçiş reklamı gösterirken işlemi duraklatmayı unutmayın.
- Metin, resim ve video reklamlar 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 aldığından emin olmanız önemlidir. Örneğin, bir 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 tamamladığında çağrılacak olan
OnAdDismissedFullScreenContent
yönteminde ses çalmaya devam edebilirsiniz.FullScreenContentListener
Ayrıca, reklam gösterilirken yoğun hesaplama görevlerini (ör. oyun döngüsü) geçici olarak durdurmayı da düşünebilirsiniz. Bu sayede kullanıcı, yavaş veya yanıt vermeyen grafikler ya da kesintili video deneyimi yaşamaz. - Yeterli yükleme süresi tanıyın.
- Geçiş reklamlarını uygun bir zamanda gösterdiğinizden emin olmanız gerektiği gibi, kullanıcının bu reklamların yüklenmesini beklememesi de önemlidir. Reklamı göstermeyi planlamadan önce önceden yüklemek, reklam gösterme zamanı geldiğinde uygulamanızda tam olarak yüklenmiş bir geçiş reklamı olmasını sağlayabilir.
- Kullanıcıyı reklamlarla boğmayın.
- Uygulamanızdaki geçiş reklamlarının sıklığını artırmak geliri artırmak için iyi bir yöntem gibi görünse de kullanıcı deneyimini olumsuz etkileyebilir ve tıklama oranlarını düşürebilir. Kullanıcıların, uygulamanızı kullanmaktan keyif alamayacak kadar sık kesintiye uğramadığından emin olun.
- Geçiş reklamını göstermek için yükleme tamamlanma geleceğini kullanmayın.
- Bu durum, kötü bir kullanıcı deneyimine neden olabilir. Bunun yerine, reklamı göstermeniz gerekmeden önce önceden yükleyin.
Ek kaynaklar
GitHub'daki örnek
- Örnek hızlı başlangıç uygulamamızın kaynak kodunu GitHub'da 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.