پیش‌بار کردن آگهی (نسخه بتا)

پیش‌بارگیری آگهی یکی از ویژگی‌های بار کردن آگهی تحت مدیریت Google در Google Mobile Ads Flutter Plugin است که بار کردن و ذخیره موقت آگهی را ازطرف شما مدیریت می‌کند. پیش‌بار کردن آگهی مستلزم تغییر در نحوه مدیریت بار کردن آگهی است. برای بهینه‌سازی عملکرد بااستفاده از پیش‌بارگیری آگهی، ذخیره موقت سفارشی را غیرفعال کنید و این مسئولیت را به Google Mobile Ads Flutter Plugin واگذار کنید.

پیش‌بار کردن آگهی نسبت به بار کردن دستی آگهی مزایای زیر را دارد:

  • مدیریت مرجع: آگهی‌های بارشده را نگه می‌دارد تا مجبور نباشید مراجع را تا زمانی که آماده نمایش آن‌ها هستید حفظ کنید.
  • بار کردن مجدد خودکار: وقتی آگهی‌ای را از حافظه نهان بیرون می‌کشید، آگهی جدیدی را به‌طور خودکار بار می‌کند.
  • تلاش‌های مجدد مدیریت‌شده: به‌طور خودکار درخواست‌های ناموفق را بااستفاده از عقب‌گرد نمایی دوباره امتحان می‌کند.
  • مدیریت انقضا: آگهی‌ها را به‌طور خودکار قبل‌از منقضی شدن (معمولاً پس‌از یک ساعت) بازآوری می‌کند.
  • بهینه‌سازی حافظه نهان: اگر از اندازه حافظه نهان بزرگ‌تر از یک استفاده می‌کنید، Google Mobile Ads Flutter Plugin ترتیب حافظه نهان را برای ارائه بهترین آگهی بهینه‌سازی می‌کند.

این راهنما پیکربندی آگهی‌های پیش‌بارگیری، بررسی دردسترس بودن آگهی پیش‌بارگیری، و نمایش آگهی پیش‌بارگیری‌شده را پوشش می‌دهد.

پیش‌نیازها

قبل‌از ادامه دادن این آموزش، باید Google Mobile Ads Flutter Plugin را راه‌اندازی کنید.

شروع پیش‌بارگیری آگهی‌ها

وقتی برنامه شروع می‌شود، روش start را یک‌بار فراخوانی کنید. پس‌از فراخوانی روش start، Google Mobile Ads Flutter Plugin به‌طور خودکار آگهی‌ها را پیش‌بارگیری می‌کند و درخواست‌های ناموفق برای پیکربندی‌های پیش‌بارگیری‌شده را دوباره امتحان می‌کند.

مثال زیر پیش‌بارگیری آگهی‌ها را شروع می‌کند:

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

_adUnitId را با شناسه واحد آگهی‌تان جایگزین کنید.

دریافت و نمایش آگهی پیش‌بارشده

هنگام استفاده از پیش‌بارگیری آگهی، Google Mobile Ads Flutter Plugin آگهی‌های ذخیره‌شده در حافظه نهان را نگه می‌دارد. وقتی می‌خواهید آگهی نشان دهید، روش pollAd را فراخوانی کنید. Google Mobile Ads Flutter Plugin آگهی دردسترس را بازیابی می‌کند و به‌طور خودکار آگهی بعدی را در پس‌زمینه پیش‌بارگیری می‌کند.

تا زمانی که برای نمایش آگهی آماده نشده‌اید، از فراخوانی روش pollAd خودداری کنید. نگه داشتن آگهی‌ها در حافظه نهان به Google Mobile Ads Flutter Plugin اجازه می‌دهد آگهی‌های منقضی‌شده را به‌طور خودکار بازآوری کند و بهینه‌سازی حافظه نهان را انجام دهد.

مثال زیر آگهی پیش‌بارشده‌ای را بازیابی می‌کند و نشان می‌دهد:

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();
  }
}

بررسی دردسترس بودن پیش‌بارگیری آگهی

برای بررسی دردسترس بودن آگهی، یکی از موارد زیر را انتخاب کنید:

دریافت دردسترس بودن آگهی پیش‌بارشده

نمونه زیر دردسترس بودن آگهی را بررسی می‌کند:

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

گوش دادن به دردسترس بودن آگهی پیش‌بارشده

برای رویدادهای پیش‌بارکردن ثبت‌نام کنید تا وقتی آگهی‌ها با موفقیت پیش‌بار می‌شوند، پیش‌بار نمی‌شوند، یا حافظه نهان آگهی تمام می‌شود، مطلع شوید.

رویدادهای پیش‌بارکردن برای اهداف تحلیلی درنظر گرفته شده‌اند. درون فراخوانی‌های برگشتی رویداد پیش‌بارکردن:

  • با ‎start تماس نگیر.
  • از فراخوانی pollAd اجتناب کنید، مگراینکه آگهی بلافاصله نشان داده شود.

مثال زیر برای رویدادهای آگهی ثبت می‌شود:

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');
    },
  ),
);

توقف پیش‌بارگیری آگهی‌ها

اگر لازم نیست آگهی‌های مربوط به شناسه پیش‌بارگیری را دوباره در جلسه نشان دهید، می‌توانید پیش‌بارگیری آگهی‌ها را متوقف کنید. برای متوقف کردن پیش‌بارگیری آگهی‌ها برای شناسه پیش‌بارگیری خاص، destroy را با شناسه پیش‌بارگیری فراخوانی کنید. برای متوقف کردن پیش‌بارگیری برای همه پیش‌بارگذارها، destroyAll را فراخوانی کنید.

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

تنظیم اندازه میان‌گیر

اندازه میان‌گیر تعداد آگهی‌های پیش‌بارشده را که در حافظه نگهداری می‌شوند کنترل می‌کند. به‌طور پیش‌فرض، Google اندازه میان‌گیر را بهینه‌سازی می‌کند تا مصرف حافظه و تأخیر ارائه آگهی را متعادل کند. اگر برنامه‌تان آگهی‌ها را قبل‌از بار شدن آگهی بعدی نمایش می‌دهد، می‌توانید اندازه میان‌گیر سفارشی را برای افزایش تعداد آگهی‌های نگهداری‌شده در حافظه تنظیم کنید.

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

حدود حافظه نهان پیش‌بارکردن

Google Mobile Ads Flutter Plugin محدودیتی را در سطح برنامه بر تعداد کل آگهی‌های پیش‌بارشده در همه واحدهای آگهی و شناسه‌های پیش‌بار اعمال می‌کند:

  • محدودیت پیش‌فرض: Google Mobile Ads Flutter Plugin حداکثر ۶ آگهی پیش‌بارشده را در حافظه نگه می‌دارد. این محدودیت برای همه قالب‌ها و شناسه‌های پیش‌بارگذاری مشترک است.
  • توصیه می‌کنیم اندازه میان‌گیر را برای هر شناسه پیش‌بارگیری روی دو نگه دارید.