پیش‌بارگذاری تبلیغات (بتا)

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

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

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

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

پیش‌نیازها

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

شروع پیش بارگذاری تبلیغات

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

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

کاتلین

// 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) اجازه می‌دهد تا به طور خودکار تبلیغات منقضی شده را به‌روزرسانی کرده و بهینه‌سازی حافظه پنهان را انجام دهد.

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

کاتلین

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

بررسی در دسترس بودن تبلیغات پیش بارگذاری شده

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

در دسترس بودن تبلیغات از پیش بارگذاری شده را دریافت کنید

مثال زیر، در دسترس بودن تبلیغات را بررسی می‌کند:

کاتلین

// 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 خودداری کنید، مگر اینکه تبلیغ بلافاصله نمایش داده شود.

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

کاتلین

// 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 را فراخوانی کنید.

کاتلین

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

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

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

کاتلین

// Define a PreloadConfiguration and buffer up to 3 preloaded ads.
val configuration = PreloadConfiguration.Builder("AD_UNIT_ID").setBufferSize(3).build()

جاوا

// Define a PreloadConfiguration and buffer up to 3 preloaded ads.
PreloadConfiguration configuration =
    new PreloadConfiguration.Builder("AD_UNIT_ID").setBufferSize(3).build();

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

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

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