Reklam ön yükleme (Beta)

Reklam önceden yükleme, Google Mobile Ads Flutter Plugin içinde Google tarafından yönetilen bir reklam yükleme özelliğidir. Bu özellik, reklam yükleme ve önbelleğe alma işlemlerini sizin adınıza yönetir. Reklam önceden yükleme, reklam yüklemeyi yönetme şeklinizde bir değişiklik yapılmasını gerektirir. Reklam önceden yükleme özelliğini kullanarak performansı optimize etmek için özel önbelleğe almayı devre dışı bırakın ve bu sorumluluğu Google Mobile Ads Flutter Plugin'ya devredin.

Reklam ön yükleme, manuel reklam yüklemeye kıyasla aşağıdaki avantajları sunar:

  • Referans yönetimi: Yüklenen reklamları tutar. Böylece, göstermeye hazır olana kadar referansları korumanız gerekmez.
  • Otomatik yeniden yükleme: Önbellekten bir reklam çektiğinizde otomatik olarak yeni bir reklam yükler.
  • Yönetilen yeniden denemeler: Başarısız olan istekler, eksponansiyel geri yükleme kullanılarak otomatik olarak yeniden denenir.
  • Geçerlilik süresi yönetimi: Reklamları geçerlilik süreleri dolmadan (genellikle bir saat sonra) otomatik olarak yeniler.
  • Önbellek optimizasyonu: Birden büyük bir önbellek boyutu kullanıyorsanız Google Mobile Ads Flutter Plugin, en iyi reklamı sunmak için önbellek sırasını optimize eder.

Bu kılavuzda, önceden yüklenen reklamların yapılandırılması, önceden yüklenen reklamların kullanılabilirliğinin kontrol edilmesi ve önceden yüklenen reklamın gösterilmesi ele alınmaktadır.

Ön koşullar

Bu eğitime devam etmeden önce Google Mobile Ads Flutter Plugin'ı ayarlamanız gerekir.

Reklamları önceden yüklemeye başlama

Uygulama başladığında start yöntemini bir kez çağırın. start yöntemini çağırdıktan sonra Google Mobile Ads Flutter Plugin, reklamları otomatik olarak önceden yükler ve önceden yüklenmiş yapılandırmalar için başarısız olan istekleri yeniden dener.

Aşağıdaki örnekte reklamlar önceden yüklenmeye başlar:

InterstitialAdPreloader.start(
  preloadId: _adUnitId,
  preloadConfiguration: PreloadConfiguration(adUnitId: _adUnitId),
  callback: const PreloadCallback(),
);

_adUnitId yerine reklam birimi kimliğinizi yazın.

Önceden yüklenmiş reklamı alma ve gösterme

Reklam önceden yükleme kullanılırken Google Mobile Ads Flutter Plugin, önbelleğe alınmış reklamları tutar. Reklam göstermek istediğinizde pollAd yöntemini çağırın. Google Mobile Ads Flutter Plugin kullanılabilir bir reklamı alır ve arka planda sonraki reklamı otomatik olarak önceden yükler.

Reklam göstermeye hazır olana kadar pollAd yöntemini çağırmaktan kaçının. Reklamların önbellekte tutulması, Google Mobile Ads Flutter Plugin süresi dolmuş reklamların otomatik olarak yenilenmesine ve önbellek optimizasyonu yapılmasına olanak tanır.

Aşağıdaki örnekte, önceden yüklenmiş bir reklam alınır ve gösterilir:

void _pollAndShowAd() async {
  final InterstitialAd? ad = await InterstitialAdPreloader.pollAd(_adUnitId);
  if (ad != null) {
    _interstitialAd = ad;
    ad.fullScreenContentCallback = FullScreenContentCallback(
      onAdImpression: (ad) {
        // Called when an impression occurs on the ad.
        debugPrint('Ad recorded an impression.');
      },
    );
    ad.onPaidEvent = (ad, valueMicros, precision, currencyCode) {
      // Called when an ad is estimated to have earned money.
      debugPrint('Ad paid: $valueMicros $currencyCode.');
    };
    // Show the ad.
    await ad.show();
  }
}

Önceden yükleme reklamlarının kullanılabilirliğini kontrol etme

Reklam kullanılabilirliğini kontrol etmek için aşağıdakilerden birini seçin:

Önceden yüklenmiş reklamların kullanılabilirliğini alma

Aşağıdaki örnekte reklamın kullanılabilirliği kontrol edilir:

void _checkAdAvailability() async {
  final bool isAvailable = await InterstitialAdPreloader.isAdAvailable(
    _adUnitId,
  );
  debugPrint('Is ad available: $isAvailable');
}

Önceden yüklenmiş reklamların kullanılabilirliğini dinleme

Reklamlar başarıyla önceden yüklendiğinde, önceden yüklenemediğinde veya reklam önbelleği tükendiğinde bildirim almak için önceden yükleme etkinliklerine kaydolun.

Ön yükleme etkinlikleri analiz amacıyla kullanılır. Ön yükleme etkinliği geri çağırmaları içinde:

  • start numarasını aramayın.
  • Reklam hemen gösterilmeyecekse pollAd işlevini çağırmaktan kaçının.

Aşağıdaki örnekte reklam etkinliklerine kaydolunur:

InterstitialAdPreloader.start(
  preloadId: _adUnitId,
  preloadConfiguration: PreloadConfiguration(adUnitId: _adUnitId),
  callback: PreloadCallback(
    onAdPreloaded: (preloadId, responseInfo) {
      debugPrint('Ad preloaded for ID: $preloadId');
    },
    onAdFailedToPreload: (preloadId, error) {
      debugPrint('Ad failed to preload for ID: $preloadId. Error: $error');
    },
    onAdsExhausted: (preloadId) {
      debugPrint('All preloaded ads exhausted for ID: $preloadId');
    },
  ),
);

Reklamların önceden yüklenmesini durdurma

Oturumda bir önceden yükleme kimliği için tekrar reklam göstermeniz gerekmiyorsa reklamların önceden yüklenmesini durdurabilirsiniz. Belirli bir önceden yükleme kimliği için reklamların önceden yüklenmesini durdurmak istiyorsanız önceden yükleme kimliğiyle destroy işlevini çağırın. Tüm önceden yükleyiciler için önceden yüklemeyi durdurmak üzere destroyAll işlevini çağırın.

void _stopPreloading() async {
  await InterstitialAdPreloader.destroy(_adUnitId);
}

Arabellek boyutunu ayarlama

Arabellek boyutu, bellekte tutulan önceden yüklenmiş reklamların sayısını kontrol eder. Google, varsayılan olarak bellek tüketimi ile reklam yayınlama gecikmesi arasında denge kurmak için arabellek boyutunu optimize eder. Uygulamanız, bir sonraki reklam yüklenmeden önce reklam gösteriyorsa bellekte tutulan reklam sayısını artırmak için özel bir arabellek boyutu ayarlayabilirsiniz.

InterstitialAdPreloader.start(
  preloadId: _adUnitId,
  preloadConfiguration: PreloadConfiguration(
    adUnitId: _adUnitId,
    bufferSize: 3,
  ),
  callback: const PreloadCallback(),
);

Önbelleği önceden yükleme sınırları

Google Mobile Ads Flutter Plugin, tüm reklam birimleri ve önceden yükleme kimliklerinde önceden yüklenen toplam reklam sayısıyla ilgili uygulama genelinde bir sınır uygular:

  • Varsayılan sınır: Google Mobile Ads Flutter Plugin, bellekte en fazla 6 önceden yüklenmiş reklam tutar. Bu sınır, tüm biçimler ve önceden yükleme kimlikleri arasında paylaşılır.
  • Her önceden yükleme kimliği için iki arabellek boyutu tutmanızı öneririz.