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

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

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

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

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

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

پیش‌نیازها

قبل‌از ادامه دادن این آموزش گام‌به‌گام، باید Google Mobile Ads SDK (Legacy) را راه‌اندازی کنید.

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

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

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

Kotlin

// Define a PreloadConfiguration.
val configuration = PreloadConfiguration.Builder("AD_UNIT_ID").build()
// Start the preloading with a given preload ID, preload configuration.
InterstitialAdPreloader.start("AD_UNIT_ID", configuration)

جاوا

// Define a PreloadConfiguration.
PreloadConfiguration configuration = new PreloadConfiguration.Builder("AD_UNIT_ID").build();
// Start the preloading with a given preload ID, preload configuration.
InterstitialAdPreloader.start("AD_UNIT_ID", configuration);

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

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

هنگام استفاده از پیش‌بار کردن آگهی، Google Mobile Ads SDK (Legacy) آگهی‌های ذخیره‌شده را نگه می‌دارد. وقتی می‌خواهید آگهی نشان دهید، روش pollAd را فراخوانی کنید. ‫Google Mobile Ads SDK (Legacy) آگهی دردسترس را بازیابی می‌کند و آگهی بعدی را به‌طور خودکار در پس‌زمینه پیش‌بار می‌کند.

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

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

Kotlin

// pollAd() returns the next available ad and loads another ad in the background.
val ad = InterstitialAdPreloader.pollAd("AD_UNIT_ID")

// [Optional] Interact with the ad as needed.
ad?.onPaidEventListener = OnPaidEventListener {
  // [Optional] Send the impression-level ad revenue information to your preferred
  // analytics server directly within this callback.
}

// Show the ad immediately.
ad?.show(activity)

جاوا

// pollAd() returns the next available ad and loads another ad in the background.
InterstitialAd ad = InterstitialAdPreloader.pollAd("AD_UNIT_ID");

if (ad != null) {
  // [Optional] Interact with the ad object as needed.
  ad.setOnPaidEventListener(
      adValue -> {
        // [Optional] Send the impression-level ad revenue information to your preferred
        // analytics server directly within this callback.
      });

  // Show the ad immediately.
  ad.show(activity);
}

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

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

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

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

Kotlin

// Verify that a preloaded ad is available.
if (!InterstitialAdPreloader.isAdAvailable("AD_UNIT_ID")) {
  // No ads are available to show.
}

جاوا

// Verify that a preloaded ad is available.
if (!InterstitialAdPreloader.isAdAvailable("AD_UNIT_ID")) {
  // No ads are available to show.
}

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

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

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

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

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

Kotlin

// Define a callback to receive preload events.
val callback =
  object : PreloadCallbackV2() {
    override fun onAdPreloaded(preloadId: String, responseInfo: ResponseInfo?) {
      // Called when preloaded ads are available.
    }

    override fun onAdsExhausted(preloadId: String) {
      // Called when no preloaded ads are available.
    }

    override fun onAdFailedToPreload(preloadId: String, adError: AdError) {
      // Called when preloaded ads failed to load.
    }
  }

جاوا

// Define a callback to receive preload events.
PreloadCallbackV2 callback =
    new PreloadCallbackV2() {
      @Override
      public void onAdPreloaded(
          @NonNull String preloadId, @Nullable ResponseInfo responseInfo) {
        // Called when preloaded ads are available.
      }

      @Override
      public void onAdsExhausted(@NonNull String preloadId) {
        // Called when no preloaded ads are available.
      }

      @Override
      public void onAdFailedToPreload(@NonNull String preloadId, @NonNull AdError adError) {
        // Called when preloaded ads failed to load.
      }
    };

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

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

Kotlin

// Stops the preloading and destroy preloaded ads.
InterstitialAdPreloader.destroy("AD_UNIT_ID")
// Stops the preloading and destroy all ads.
InterstitialAdPreloader.destroyAll()

جاوا

// Stops the preloading and destroy preloaded ads.
InterstitialAdPreloader.destroy("AD_UNIT_ID");
// Stops the preloading and destroy all ads.
InterstitialAdPreloader.destroyAll();

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

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

Kotlin

// Define a PreloadConfiguration and set the buffer size to 2 preloaded ads.
val configuration = PreloadConfiguration.Builder("AD_UNIT_ID").setBufferSize(2).build()

جاوا

// Define a PreloadConfiguration and set the buffer size to 2 preloaded ads.
PreloadConfiguration configuration =
    new PreloadConfiguration.Builder("AD_UNIT_ID").setBufferSize(2).build();

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

‫Google Mobile Ads SDK (Legacy) محدودیت سراسری برنامه را برای تعداد کل آگهی‌های پیش‌بارگذاری‌شده در همه واحدهای آگهی و شناسه‌های پیش‌بارگذاری اعمال می‌کند:

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