Geçiş reklamları, ana makine uygulamasının arayüzünü kapsayan 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 duraklamalar) gösterilirler. 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 sahiptir.
Bu kılavuzda, geçiş reklamlarının bir Flutter uygulamasına nasıl entegre edileceği açıklanmaktadır.
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:
Android
ca-app-pub-3940256099942544/1033173712
iOS
ca-app-pub-3940256099942544/4411468910
Test reklam birimleri her istek için test reklamı döndürecek şekilde yapılandırılmıştır. Kodlama, test etme ve hata ayıklama sırasında bunları kendi uygulamalarınızda kullanabilirsiniz. Uygulamanızı yayınlamadan önce bunları kendi reklam birimi kimliklerinizle değiştirdiğinizden emin olmanız yeterlidir.
Reklam yükle
Aşağıdaki örnekte bir geçiş reklamı yüklenir:
class InterstitialExampleState extends State<InterstitialExample> { InterstitialAd? _interstitialAd; // TODO: replace this test ad unit with your own ad unit. final adUnitId = Platform.isAndroid ? 'ca-app-pub-3940256099942544/1033173712' : 'ca-app-pub-3940256099942544/4411468910'; /// Loads an interstitial ad. void loadAd() { InterstitialAd.load( adUnitId: adUnitId, request: const AdRequest(), adLoadCallback: InterstitialAdLoadCallback( // Called when an ad is successfully received. onAdLoaded: (ad) { debugPrint('$ad loaded.'); // Keep a reference to the ad so you can show it later. _interstitialAd = ad; }, // Called when an ad request failed. onAdFailedToLoad: (LoadAdError error) { debugPrint('InterstitialAd failed to load: $error'); }, )); } }
Geçiş reklamı etkinlikleri
FullScreenContentCallback
özelliğini kullanarak, reklamın gösterilmesi veya kapatılması gibi yaşam döngüsü olaylarını dinleyebilirsiniz. Bu etkinliklerle ilgili bildirim almak için reklamı göstermeden önce InterstitialAd.fullScreenContentCallback
değerini ayarlayın. Bu örnekte her bir yöntem uygulanmaktadır:
class InterstitialExampleState extends State<InterstitialExample> { InterstitialAd? _interstitialAd; // TODO: replace this test ad unit with your own ad unit. final adUnitId = Platform.isAndroid ? 'ca-app-pub-3940256099942544/1033173712' : 'ca-app-pub-3940256099942544/4411468910'; /// Loads an interstitial ad. void loadAd() { InterstitialAd.load( adUnitId: adUnitId, request: const AdRequest(), adLoadCallback: InterstitialAdLoadCallback( // Called when an ad is successfully received. onAdLoaded: (ad) { ad.fullScreenContentCallback = FullScreenContentCallback( // Called when the ad showed the full screen content. onAdShowedFullScreenContent: (ad) {}, // Called when an impression occurs on the ad. onAdImpression: (ad) {}, // Called when the ad failed to show full screen content. onAdFailedToShowFullScreenContent: (ad, err) { // Dispose the ad here to free resources. ad.dispose(); }, // Called when the ad dismissed full screen content. onAdDismissedFullScreenContent: (ad) { // Dispose the ad here to free resources. ad.dispose(); }, // Called when a click is recorded for an ad. onAdClicked: (ad) {}); debugPrint('$ad loaded.'); // Keep a reference to the ad so you can show it later. _interstitialAd = ad; }, // Called when an ad request failed. onAdFailedToLoad: (LoadAdError error) { debugPrint('InterstitialAd failed to load: $error'); }, )); } }
Geçiş reklamı görüntüleme
InterstitialAd
, tüm uygulama içeriğinin üst kısmında Overlay
olarak gösterilir ve statik olarak yerleştirildiği için Flutter widget ağacına eklenemez. show()
numaralı telefonu arayarak reklamın ne zaman gösterileceğini seçebilirsiniz.
_interstitiaAd.show();
show()
çağrıldıktan sonra, bu şekilde görüntülenen Ad
programatik olarak kapatılamaz ve kullanıcı girişi gerektirir. InterstitialAd
yalnızca bir kez gösterilebilir. Gösterilecek sonraki çağrılar onAdFailedToShowFullScreenContent
işlemini tetikler.
Reklamlara artık erişilmesine gerek kalmadığında reklamın imha edilmesi gerekir. dispose()
çağrısının ne zaman yapılacağına ilişkin en iyi uygulama, FullScreenContentCallback.onAdDismissedFullScreenContent
ve FullScreenContentCallback.onAdFailedToShowFullScreenContent
geri çağırmalarıdır.
İşte bu kadar. Uygulamanız artık geçiş reklamları göstermeye hazır.
Sonraki adımlar
- Geçiş reklamı en iyi uygulamaları ve geçiş reklamı kılavuzunu inceleyin.
- Geçiş reklamlarıyla ilgili örnek olay incelemesine göz atın.
- Henüz yapmadıysanız AdMob kullanıcı arayüzünde kendi geçiş reklam biriminizi oluşturun.