Banner reklamlar, uygulamanın düzeninde cihaz ekranının üst veya alt kısmında bir yer kaplar. Kullanıcılar uygulamayla etkileşimde bulunurken ekranda kalırlar. ve belirli bir süre sonra otomatik olarak yenilenebilir.
Bu kılavuzda, Ad Manager'daki banner reklamların Flutter uygulamasına nasıl entegre edileceği gösterilmektedir. Kod snippet'lerine ve talimatlara ek olarak, banner'ların doğru şekilde boyutlandırılması hakkında da bilgi verilmektedir.
Her zaman test reklamlarıyla test yapın
Uygulamalarınızı oluştururken ve test ederken, uygulamalarınızın yanı sıra üretim reklamlarıdır. Aksi takdirde hesabınız askıya alınabilir.
Test reklamlarını yüklemenin en kolay yolu, aşağıdakiler için özel test reklam birimi kimliğimizi kullanmaktır: banner'lar:
/21775744923/example/adaptive-banner
Test reklam birimleri her istek için test reklamı döndürecek şekilde yapılandırılır ve bunları kendi uygulamalarınızda kullanabilirsiniz. Ancak, reklam biriminizi yayınlamadan önce bunları kendi reklam birimi kimliklerinizle değiştirdiğinizden emin olun. uygulamasını indirin.
Reklam yükle
Aşağıdaki örnekte bir banner reklam örneklendirilir:
class BannerExampleState extends State<BannerExample> { AdManagerBannerAd? _bannerAd; bool _isLoaded = false; // TODO: replace this test ad unit with your own ad unit. final adUnitId = '/21775744923/example/adaptive-banner'; /// Loads a banner ad. void loadAd() { _bannerAd = AdManagerBannerAd( adUnitId: adUnitId, request: const AdManagerAdRequest(), size: AdSize.banner, listener: AdManagerBannerAdListener( // Called when an ad is successfully received. onAdLoaded: (ad) { debugPrint('$ad loaded.'); setState(() { _isLoaded = true; }); }, // Called when an ad request failed. onAdFailedToLoad: (ad, err) { debugPrint('AdManagerBannerAd failed to load: $error'); // Dispose the ad here to free resources. ad.dispose(); }, ), )..load(); } }
Banner boyutları
Aşağıdaki tabloda standart banner boyutları listelenmiştir.
Boyut (dp cinsinden Genişlik x Yükseklik) | Açıklama | AdSize Sabiti |
---|---|---|
320x50 | Standart Banner | banner
|
320x100 | Büyük Banner | largeBanner
|
320x250 | Orta Dikdörtgen | mediumRectangle
|
468x60 | Tam Boy Banner | fullBanner
|
728x90 | Büyük afiş | leaderboard
|
Sağlanan genişlik x Uyarlanabilir yükseklik | Uyarlanabilir banner | Yok |
Özel bir banner boyutu tanımlamak için tercih ettiğiniz AdSize
değerini ayarlayın:
final AdSize adSize = AdSize(300, 50);
Banner reklam etkinlikleri
AdManagerBannerAdListener
kullanarak yaşam döngüsü olaylarını dinleyebilirsiniz. Örneğin:
her zaman olduğu gibidir. Bu örnekte her yöntem uygulanır ve bir mesaj günlüğe kaydedilir
aşağıdaki adımları izleyin:
class BannerExampleState extends State<BannerExample> { AdManagerBannerAd? _bannerAd; bool _isLoaded = false; // TODO: replace this test ad unit with your own ad unit. final adUnitId = '/21775744923/example/adaptive-banner'; /// Loads a banner ad. void loadAd() { _bannerAd = AdManagerBannerAd( adUnitId: adUnitId, request: const AdManagerAdRequest(), size: AdSize.banner, listener: AdManagerBannerAdListener( // Called when an ad is successfully received. onAdLoaded: (ad) { debugPrint('$ad loaded.'); setState(() { _isLoaded = true; }); }, // Called when an ad request failed. onAdFailedToLoad: (ad, err) { debugPrint('AdManagerBannerAd failed to load: $error'); // Dispose the ad here to free resources. ad.dispose(); }, // Called when an ad opens an overlay that covers the screen. onAdOpened: (Ad ad) {}, // Called when an ad removes an overlay that covers the screen. onAdClosed: (Ad ad) {}, // Called when an impression occurs on the ad. onAdImpression: (Ad ad) {}, ), )..load(); } }
Banner reklam gösterin
Bir AdManagerBannerAd
öğesini widget olarak görüntülemek için AdWidget
örneği oluşturmanız gerekir
load()
arandıktan sonra desteklenen bir reklamla. Widget'ı, oluşturma işleminden önce
load()
aranıyor, ancak widget'a eklenmeden önce load()
çağrılmalıdır
ağacı.
AdWidget
, Flutter'ın Widget sınıfından devralır ve başkaları gibi kullanılabilir
widget'ını tıklayın. iOS'te, widget'ı belirli bir
ve yüksekliği belirtmelisiniz. Aksi takdirde reklamınız gösterilmeyebilir. AdManagerBannerAd
reklamla eşleşen boyuta sahip 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!), ), ), ) } ...
Reklamlara artık erişilmesine gerek kalmadığında reklamın imha edilmesi gerekir. En iyi uygulama
dispose()
çağrısı, AdWidget
öğesi
veya AdManagerBannerAdListener.onAdFailedToLoad()
geri arama.
İş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ümleri çalıştıran bazı eski veya daha az güçlü cihazlarda, kaydırmalı görünümlerde satır içi banner reklamlar gösterilirken optimum olmayan performans yaşanabileceğinin farkındayız. Yalnızca önerilir bu tür banner'ları kullanabilirsiniz. Şu gibi sabit konumlu banner'lar: sabit banner'lar etkilenmez ve sabit banner'larda optimum performansla tüm Android API düzeylerinde.