Banner

Banner reklamlar, uygulama düzeninin üst veya alt kısmında cihaz ekranına gidin. 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 bir Flutter uygulaması. Kod snippet'leri ve talimatların yanı sıra, banner'ları doğru şekilde boyutlandırmayla ilgili bilgi edinin.

Her zaman test reklamlarıyla test etme

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:

  • /6499/example/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 = '/6499/example/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();
  }
}

Aşağıdaki tabloda standart banner boyutları listelenmiştir.

dp (GxY) cinsinden boyut Açıklama AdSize Sabiti
320x50 Standart Banner banner
320x100 Büyük Banner largeBanner
320x250 Orta Dikdörtgen mediumRectangle
468x60 Tam Boyutlu 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);

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 = '/6499/example/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 sonraki sürümleri çalıştıran eski ya da daha az güçlü bazı cihazların erken aşamalar optimum düzeyin altındaki performansa sahip olabilir satır içi banner reklamlar görüntülenir. 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.