پیشبارگذاری تبلیغات یک ویژگی بارگذاری تبلیغات تحت مدیریت گوگل در Google Mobile Ads Unity Plugin است که بارگذاری و ذخیرهسازی تبلیغات را از طرف شما مدیریت میکند. پیشبارگذاری تبلیغات نیاز به تغییر در نحوه مدیریت بارگذاری تبلیغات دارد. برای بهینهسازی عملکرد با استفاده از پیشبارگذاری تبلیغات، ذخیرهسازی سفارشی را غیرفعال کنید و این مسئولیت را به Google Mobile Ads Unity Plugin واگذار کنید.
پیش بارگذاری تبلیغات مزایای زیر را نسبت به بارگذاری دستی تبلیغات ارائه میدهد:
- مدیریت ارجاعات: تبلیغات بارگذاریشده را نگه میدارد، بنابراین لازم نیست ارجاعات را تا زمانی که آماده نمایش آنها نیستید، نگه دارید.
- بارگذاری مجدد خودکار: وقتی تبلیغی را از حافظه پنهان (cache) بیرون میکشید، بهطور خودکار آن را بارگذاری میکند.
- تلاشهای مجدد مدیریتشده: بهطور خودکار درخواستهای ناموفق را با استفاده از backoff نمایی دوباره امتحان میکند.
- مدیریت انقضا: تبلیغات را قبل از انقضا (معمولاً بعد از یک ساعت) به طور خودکار بهروزرسانی میکند.
- بهینهسازی حافظه پنهان: اگر از اندازه حافظه پنهان بزرگتر از یک استفاده کنید، Google Mobile Ads Unity Plugin ترتیب حافظه پنهان را برای ارائه بهترین تبلیغ بهینه میکند.
این راهنما پیکربندی تبلیغات پیشبارگذاریشده، بررسی در دسترس بودن تبلیغات پیشبارگذاریشده و نمایش تبلیغ پیشبارگذاریشده را پوشش میدهد.
پیشنیازها
قبل از ادامه آموزش، باید موارد زیر را تکمیل کنید:
- Google Mobile Ads Unity Plugin نسخه 10.3.0 یا بالاتر را نصب کنید.
- Google Mobile Ads Unity Plugin را تنظیم کنید .
از SDK اندروید نسخه
24.4.0و SDK iOS نسخه12.6.0استفاده کنید.اختیاری: برنامه نمونه پیشبارگذاری تبلیغات را دانلود و اجرا کنید.
شروع پیش بارگذاری تبلیغات
برای شروع پیشبارگذاری تبلیغات، تابع Preload() را فراخوانی کنید. این متد را فقط یک بار در ابتدای برنامه فراخوانی کنید. پس از فراخوانی Preload() ، Google Mobile Ads Unity Plugin به طور خودکار تبلیغات را پیشبارگذاری میکند و درخواستهای ناموفق برای پیکربندیهای از پیش بارگذاری شده را دوباره امتحان میکند.
مثال زیر شروع به پیش بارگذاری تبلیغات میکند:
var preloadConfiguration = new PreloadConfiguration
{
AdUnitId = AD_UNIT_ID,
Request = new AdRequest(),
};
// Start the preloading initialization process after MobileAds.Initialize().
InterstitialAdPreloader.Preload(
// The Preload ID can be any unique string to identify this configuration.
AD_UNIT_ID,
preloadConfiguration);
دریافت و نمایش تبلیغ از پیش بارگذاری شده
هنگام استفاده از پیشبارگذاری تبلیغات، Google Mobile Ads Unity Plugin ، تبلیغات ذخیرهشده را نگه میدارد. وقتی میخواهید یک تبلیغ را نمایش دهید، تابع DequeueAd() را فراخوانی کنید. Google Mobile Ads Unity Plugin تبلیغ موجود را بازیابی کرده و بهطور خودکار تبلیغ بعدی را در پسزمینه پیشبارگذاری میکند.
تا زمانی که آماده نمایش تبلیغ نیستید، از فراخوانی این متد خودداری کنید. نگه داشتن تبلیغات در حافظه پنهان Google Mobile Ads Unity Plugin اجازه میدهد تا به طور خودکار تبلیغات منقضی شده را بهروزرسانی کرده و بهینهسازی حافظه پنهان را انجام دهد.
مثال زیر یک تبلیغ از پیش بارگذاری شده را بازیابی و نمایش میدهد:
// DequeueAd returns the next available ad and loads another ad in the background.
var ad = InterstitialAdPreloader.DequeueAd(AD_UNIT_ID);
if (ad != null)
{
// [Optional] Interact with the ad object as needed.
ad.OnAdPaid += (AdValue value) =>
{
Debug.Log($"Ad paid: {value.CurrencyCode} {value.Value}");
// [Optional] Send the impression-level ad revenue information to your preferred
// analytics server directly within this callback.
};
// Do not hold onto preloaded ads, always show a preloaded ad immediately.
ad.Show();
}
بررسی در دسترس بودن تبلیغات پیش بارگذاری شده
برای بررسی در دسترس بودن آگهی، یکی از موارد زیر را انتخاب کنید:
در دسترس بودن تبلیغات از پیش بارگذاری شده را دریافت کنید
مثال زیر در دسترس بودن تبلیغات را بررسی میکند:
var isAdAvailable = InterstitialAdPreloader.IsAdAvailable(AD_UNIT_ID);
به در دسترس بودن تبلیغات از پیش بارگذاری شده گوش دهید
برای دریافت اطلاع از زمان پیشبارگذاری موفقیتآمیز تبلیغات، عدم موفقیت در پیشبارگذاری یا اتمام حافظه پنهان تبلیغات، در رویدادهای پیشبارگذاری ثبتنام کنید.
رویدادهای پیش بارگذاری برای اهداف تحلیلی در نظر گرفته شدهاند. در داخل رویدادهای پیش بارگذاری، فراخوانیهای زیر انجام میشود:
- تابع
Preload()را فراخوانی نکنید. - از فراخوانی
DequeueAd()خودداری کنید، مگر اینکه تبلیغ بلافاصله نمایش داده شود.
مثال زیر رویدادهای تبلیغاتی را ثبت میکند:
void StartPreloadWithCallbacks()
{
var preloadConfiguration = new PreloadConfiguration
{
AdUnitId = AD_UNIT_ID,
Request = new AdRequest(),
};
// Start the preloading initialization process after MobileAds.Initialize().
InterstitialAdPreloader.Preload(
// The Preload ID can be any unique string to identify this configuration.
AD_UNIT_ID,
preloadConfiguration,
onAdPreloaded,
onAdFailedToPreload,
onAdsExhausted);
}
void onAdPreloaded(string preloadId, ResponseInfo responseInfo)
{
Debug.Log($"Preload ad configuration {preloadId} was preloaded.");
}
void onAdFailedToPreload(string preloadId, AdError adError)
{
string errorMessage = $"Preload ad configuration {preloadId} failed to " +
$"preload with error : {adError.GetMessage()}.";
Debug.Log(errorMessage);
}
void onAdsExhausted(string preloadId)
{
Debug.Log($"Preload ad configuration {preloadId} was exhausted");
// [Important] Don't call Preload() or DequeueAd() from onAdsExhausted.
}
توقف پیشبارگذاری تبلیغات
اگر نیازی به نمایش مجدد تبلیغات برای یک شناسه پیشبارگذاری در جلسه ندارید، میتوانید پیشبارگذاری تبلیغات را متوقف کنید. برای توقف پیشبارگذاری تبلیغات برای یک شناسه پیشبارگذاری خاص، تابع Destroy() با یک شناسه پیشبارگذاری فراخوانی کنید.
InterstitialAdPreloader.Destroy(AD_UNIT_ID);
InterstitialAdPreloader.DestroyAll();
اندازه بافر را تنظیم کنید
اندازه بافر، تعداد تبلیغات از پیش بارگذاری شده در حافظه را کنترل میکند. به طور پیشفرض، گوگل اندازه بافر را بهینه میکند تا مصرف حافظه و تأخیر نمایش تبلیغات را متعادل کند. اگر برنامه شما قبل از بارگذاری تبلیغ بعدی، تبلیغات را نمایش میدهد، میتوانید یک اندازه بافر سفارشی تنظیم کنید تا تعداد تبلیغات نگهداری شده در حافظه را افزایش دهید. ما اندازه بافر را حداکثر چهار توصیه میکنیم.
new PreloadConfiguration
{
AdUnitId = AD_UNIT_ID,
Request = new AdRequest(),
BufferSize = 5
};