afiş

Banner reklamlar, bir uygulamanın düzeninde, cihaz ekranının üstünde veya altında bir yer kaplar. Kullanıcılar uygulamayla etkileşime girerken ekranda kalırlar ve belirli bir süre sonra otomatik olarak yenilenebilirler.

Bu kılavuz, AdMob'dan banner reklamların bir Flutter uygulamasına nasıl entegre edileceğini gösterir. Kod parçacıklarına ve talimatlara ek olarak, afişlerin doğru şekilde boyutlandırılmasıyla ilgili bilgileri de içerir.

Her zaman test reklamlarıyla test edin

Uygulamalarınızı oluştururken ve test ederken, canlı, üretim reklamları yerine test reklamları kullandığınızdan emin olun. Bunu yapmamak, hesabınızın askıya alınmasına neden olabilir.

Test reklamlarını yüklemenin en kolay yolu, banner'lar için özel test reklam birimi kimliğimizi kullanmaktır:

Test reklam birimleri, her istek için test reklamları döndürecek şekilde yapılandırılmıştır ve bunları kodlama, test etme ve hata ayıklama sırasında kendi uygulamalarınızda kullanmakta özgürsünüz. Uygulamanızı yayınlamadan önce bunları kendi reklam birimi kimliklerinizle değiştirdiğinizden emin olun.

Örnek reklam

Bir BannerAd bir gerektirir adUnitId , bir AdSize bir AdRequest ve BannerAdListener . Aşağıdaki örnek, bir banner reklamın örneğini oluşturur:

final BannerAd myBanner = BannerAd(
  adUnitId: '<ad unit ID>',
  size: AdSize.banner,
  request: AdRequest(),
  listener: BannerAdListener(),
);

Aşağıdaki tablo standart afiş boyutlarını listeler.

dp cinsinden boyut (GxY) Açıklama Reklam Boyutu Sabiti
320x50 Standart Afiş banner
320x100 büyük afiş largeBanner
320x250 Orta Dikdörtgen mediumRectangle
468x60 Tam Boyutlu Afiş fullBanner
728x90 Liderler Sıralaması leaderboard
Ekran genişliği x 32|50|90 Akıllı Afiş Kullanım getSmartBanner(Orientation)

Özel bir banner boyutunu tanımlamak için, istenen set AdSize :

final AdSize adSize = AdSize(300, 50);

Kullanımı sayesinde BannerAdListener , bu tür bir reklam yüklendiğinde olarak yaşam döngüsü olayları, dinleyebilirsiniz. Bu örnek, her yöntemi uygular ve konsola bir mesaj kaydeder:

final BannerAdListener listener = BannerAdListener(
 // Called when an ad is successfully received.
 onAdLoaded: (Ad ad) => print('Ad loaded.'),
 // Called when an ad request failed.
 onAdFailedToLoad: (Ad ad, LoadAdError error) {
   // Dispose the ad here to free resources.
   ad.dispose();
   print('Ad failed to load: $error');
 },
 // Called when an ad opens an overlay that covers the screen.
 onAdOpened: (Ad ad) => print('Ad opened.'),
 // Called when an ad removes an overlay that covers the screen.
 onAdClosed: (Ad ad) => print('Ad closed.'),
 // Called when an impression occurs on the ad.
 onAdImpression: (Ad ad) => print('Ad impression.'),
);

Reklamı yükle

Bir sonra BannerAd örneği, load() ekranda gösterilmeden önce çağrılmalıdır:

myBanner.load();

Görüntülü reklam

Bir görüntülemek için BannerAd bir widget olarak, bir örneğini gerekir AdWidget çağırdıktan sonra desteklenen bir reklamla load() . Sen aramadan önce widget'ı oluşturabilir load() ancak load() Widget ağacına eklemeden önce çağrılmalıdır.

final AdWidget adWidget = AdWidget(ad: myBanner);

AdWidget Flutter adlı Widget sınıfından miras ve başka bir widget gibi kullanılabilir. iOS'ta, widget'ı belirli bir genişlik ve yüksekliğe sahip bir widget'a yerleştirdiğinizden emin olun. Aksi takdirde reklamınız görüntülenemeyebilir. Bir BannerAd reklamı eşleşen bir boyuta sahip bir kap içinde yerleştirilebilir:

final Container adContainer = Container(
  alignment: Alignment.center,
  child: adWidget,
  width: myBanner.size.width.toDouble(),
  height: myBanner.size.height.toDouble(),
);

Bir reklam denir sonra load() , bu çağırmalıdır dispose() buna erişimi artık gerektiğinde. Çağırmasını için en iyi uygulama dispose() ya sonradır AdWidget Widget ağacından veya kaldırılır AdListener.onAdFailedToLoad callback'inde.

Bu kadar! Uygulamanız artık banner reklamları görüntülemeye hazır.

Scrolling limitation on Android 9 and below

We are aware that some older or less powerful devices running Android 9 or earlier may have suboptimal performance when displaying inline banner ads within scrolling views. We recommend only using these types of banners on Android 10 or later. Fixed position banners such as anchored banners are not affected and can be used with optimal performance on all Android API levels.