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

انتخاب پلاتفرم: iOS Unity Flutter Android (قدیمی)

پیش‌بار کردن آگهی یک ویژگی بار کردن آگهی با مدیریت 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 حداکثر ۶ آگهی پیش‌بارگذاری‌شده را در حافظه نگه می‌دارد. این حد در همه قالب‌ها و شناسه‌های پیش‌بارگذاری مشترک است.
  • توصیه می‌کنیم برای هر شناسه پیش‌بارگذاری، اندازه بافر را روی دو تنظیم کنید.