Banner reklamlar, bir uygulamanın düzeninde cihaz ekranının üst veya alt kısmında bir yer kaplar. Kullanıcılar uygulamayla etkileşim kurarken ekranın üst veya alt kısmına sabitlenmiş olarak ya da kullanıcı sayfayı kaydırırken içerikle satır içi şekilde kalırlar ve belirli bir süre sonra otomatik olarak yenilenebilirler.
Bu kılavuz, sabit uyarlanabilir banner reklamları kullanmaya başlamanıza yardımcı olur. Sabit uyarlanabilir banner'lar, belirttiğiniz bir reklam genişliğini kullanarak reklam boyutunu her cihaz için optimize eder.
Sabit uyarlanabilir banner reklamlar, sabit boyutlu reklamlar yerine sabit en boy oranına sahip reklamlardır. En boy oranı 320x50'ye benzer. Kullanılabilir tam genişliği belirttiğinizde Google Mobile Ads SDK'sı, bu genişlik için optimum yüksekliğe sahip bir reklam döndürür. Reklamın optimum yüksekliği farklı reklam isteklerinde sabit kalır ve reklam yenilendiğinde reklamı çevreleyen içerik yerinde kalır.
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, banner'lar için özel test reklam birimi kimliğimizi kullanmaktır:
/21775744923/example/adaptive-banner
Test reklam birimleri, her istek için test reklamları döndürecek şekilde yapılandırılır ve 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 olun.
Reklam boyutunu alma
Doğru reklam boyutuna sahip bir banner reklam istemek için aşağıdaki adımları uygulayın:
MediaQuery.of(context)
kullanarak cihazın ekran genişliğini yoğunluktan bağımsız piksel (dp) cinsinden alın. Tam ekran genişliğini kullanmak istemiyorsanız kendi genişliğinizi ayarlayabilirsiniz.AdSize
sınıfında uygun statik yöntemi kullanarak birAdSize
nesnesi alın. Örneğin, geçerli yön için reklam boyutunu almak üzereAdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(int width)
kullanın.
// Get an AnchoredAdaptiveBannerAdSize before loading the ad.
final size = await AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(
MediaQuery.sizeOf(context).width.truncate(),
);
Reklam yükleme
Aşağıdaki örnekte bir banner reklam yüklenir:
_adUnitId öğesini kendi reklam birimi kimliğinizle değiştirin.
Banner reklam etkinlikleri
AdManagerBannerAdListener
kullanarak, bir reklamın yüklendiği gibi yaşam döngüsü etkinliklerini dinleyebilirsiniz. Bu örnekte her yöntem uygulanır ve konsola bir mesaj kaydedilir:
onAdOpened: (Ad ad) {
// Called when an ad opens an overlay that covers the screen.
debugPrint("Ad was opened.");
},
onAdClosed: (Ad ad) {
// Called when an ad removes an overlay that covers the screen.
debugPrint("Ad was closed.");
},
onAdImpression: (Ad ad) {
// Called when an impression occurs on the ad.
debugPrint("Ad recorded an impression.");
},
onAdClicked: (Ad ad) {
// Called when an a click event occurs on the ad.
debugPrint("Ad was clicked.");
},
onAdWillDismissScreen: (Ad ad) {
// iOS only. Called before dismissing a full screen view.
debugPrint("Ad will be dismissed.");
},
Reklamı yenileme
Reklam biriminizi yenilenecek şekilde yapılandırdıysanız reklam yüklenemediğinde başka bir reklam isteğinde bulunmanız gerekmez. Google Mobile Ads SDK'sı, Ad Manager kullanıcı arayüzünde belirttiğiniz tüm yenileme hızlarına uyar. Yenilemeyi etkinleştirmediyseniz yeni bir istek gönderin. Yenileme hızı ayarlama gibi reklam birimi yenileme hakkında daha fazla bilgi için Mobil uygulamalarda reklamların yenileme hızı başlıklı makaleyi inceleyin.
Banner reklam görüntüleme
AdManagerBannerAd
öğesini widget olarak göstermek için load()
çağrıldıktan sonra desteklenen bir reklamla AdWidget
öğesini oluşturmanız gerekir. load()
işlevini çağırmadan önce widget'ı oluşturabilirsiniz ancak widget ağacına eklemeden önce load()
işlevini çağırmanız gerekir.
AdWidget
, Flutter'ın Widget sınıfından devralınır ve diğer tüm widget'lar gibi kullanılabilir. iOS'te widget'ı, genişliği ve yüksekliği belirtilmiş bir widget'a yerleştirdiğinizden emin olun. Aksi takdirde reklamınız gösterilmeyebilir. AdManagerBannerAd
reklamla eşleşen boyutta bir kapsayıcıya yerleştirilebilir:
if (_bannerAd != null)
Align(
alignment: Alignment.bottomCenter,
child: SafeArea(
child: SizedBox(
width: _bannerAd!.size.width.toDouble(),
height: _bannerAd!.size.height.toDouble(),
child: AdWidget(ad: _bannerAd!),
),
),
),
Bir reklama erişim artık gerekli olmadığında reklamın kaldırılması gerekir. dispose()
işlevinin ne zaman çağrılacağıyla ilgili en iyi uygulama, AdWidget
öğesi widget ağacından kaldırıldıktan sonra veya AdManagerBannerAdListener.onAdFailedToLoad()
geri çağırma işlevinde çağrılmasıdır.
İşte bu kadar. Uygulamanız artık banner reklam göstermeye hazır.
Android 9 ve önceki sürümlerde kaydırma sınırlaması
Android 9 veya önceki sürümlerin yüklü olduğu bazı eski ya da daha az güçlü cihazlarda, kaydırılan görünümlerde satır içi banner reklamlar gösterilirken idealden daha düşük performans elde edilebileceğinin farkındayız. Bu banner türlerini yalnızca Android 10 veya sonraki sürümlerde kullanmanızı öneririz. Sabit konumlu banner'lar (ör. sabit banner'lar) bu durumdan etkilenmez ve tüm Android API düzeylerinde optimum performansla kullanılabilir.
Diğer banner türleri hakkında bilgi
Flutter uygulamanız için bu bölümde tanımlanan diğer banner türleri hakkında bilgi edinin.
Satır içi uyarlanabilir banner'lar
Satır içi uyarlanabilir banner'lar değişken yüksekliğe sahiptir ve sabit uyarlanabilir banner'lara kıyasla daha büyük ve daha uzun banner'lardır. Kaydırılabilir içeriklere banner reklam yerleştiren uygulamalar için sabit uyarlanabilir banner reklamlar yerine satır içi uyarlanabilir banner'lar önerilir. Daha fazla bilgi için satır içi uyarlanabilir banner'lar başlıklı makaleyi inceleyin.
Daraltılabilir banner'lar
Daraltılabilir banner reklamlar, başlangıçta daha büyük bir yer paylaşımı olarak sunulan ve reklamı daha küçük bir boyuta daraltma düğmesi içeren banner reklamlardır. Performansınızı daha da optimize etmek için bu banner'ı kullanabilirsiniz. Daha fazla bilgi için daraltılabilir banner reklamlar başlıklı makaleyi inceleyin.