پیش بارگیری آگهی (بتا)، بارگیری از قبل آگهی (بتا)، بارگیری از قبل آگهی (بتا)

پلتفرم مورد نظر: iOS، Unity، Flutter ، Android (Legacy)

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

پیش بارگذاری تبلیغات مزایای زیر را نسبت به بارگذاری دستی تبلیغات ارائه می‌دهد:

  • مدیریت ارجاعات: تبلیغات بارگذاری‌شده را نگه می‌دارد، بنابراین لازم نیست ارجاعات را تا زمانی که آماده نمایش آنها نیستید، نگه دارید.
  • بارگذاری مجدد خودکار: وقتی تبلیغی را از حافظه پنهان (cache) بیرون می‌کشید، به‌طور خودکار آن را بارگذاری می‌کند.
  • تلاش‌های مجدد مدیریت‌شده: به‌طور خودکار درخواست‌های ناموفق را با استفاده از backoff نمایی دوباره امتحان می‌کند.
  • مدیریت انقضا: تبلیغات را قبل از انقضا (معمولاً بعد از یک ساعت) به طور خودکار به‌روزرسانی می‌کند.
  • بهینه‌سازی حافظه پنهان: اگر از اندازه حافظه پنهان بزرگتر از یک استفاده کنید، 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);
}

اندازه بافر را تنظیم کنید

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

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

محدودیت‌های پیش‌بارگذاری حافظه پنهان

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

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