پیش بارگیری تبلیغات (آلفا)

پلتفرم مورد نظر را انتخاب کنید: اندروید (بتا)جدید اندروید iOS یونیتی

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

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

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

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

پیش‌نیازها

قبل از ادامه آموزش، باید موارد زیر را تکمیل کنید:

  • اختیاری: برنامه نمونه را در جاوا یا کاتلین دانلود و اجرا کنید.

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

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

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

کاتلین

// 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 ، تبلیغات ذخیره‌شده را نگه می‌دارد. وقتی می‌خواهید یک تبلیغ را نمایش دهید، تابع pollAd() را فراخوانی کنید. Google Mobile Ads SDK تبلیغ موجود را بازیابی کرده و به‌طور خودکار تبلیغ بعدی را در پس‌زمینه پیش‌بارگذاری می‌کند.

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

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

کاتلین

// 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() را با شناسه‌ی پیش‌بارگذاری فراخوانی کنید.

کاتلین

// 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 5 preloaded ads.
val configuration = PreloadConfiguration.Builder("AD_UNIT_ID").setBufferSize(5).build()

جاوا

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