ميزة "التحميل المُسبَق للإعلانات" هي ميزة لتحميل الإعلانات تديرها Google في Google Mobile Ads Unity Plugin، وتتولّى إدارة تحميل الإعلانات وتخزينها مؤقتًا بالنيابة عنك. يتطلّب التحميل المُسبَق للإعلانات إجراء تغيير في طريقة إدارة تحميل الإعلانات. لتحسين الأداء باستخدام ميزة التحميل المُسبَق للإعلانات، عليك إيقاف التخزين المؤقت المخصّص وتفويض هذه المسؤولية إلى Google Mobile Ads Unity Plugin.
توفّر ميزة "التحميل المُسبَق للإعلانات" المزايا التالية مقارنةً بالتحميل اليدوي للإعلانات:
- إدارة المراجع: تحتفظ هذه الميزة بالإعلانات التي تم تحميلها، ما يغنيك عن الاحتفاظ بالمراجع إلى أن تصبح مستعدًا لعرضها.
- إعادة التحميل التلقائي: يتم تلقائيًا تحميل إعلان جديد عند سحب إعلان من ذاكرة التخزين المؤقت.
- عمليات إعادة المحاولة المُدارة: تتم تلقائيًا إعادة محاولة الطلبات التي تعذّر تنفيذها باستخدام التراجع الدليلي.
- التعامل مع انتهاء الصلاحية: يتم تلقائيًا إعادة تحميل الإعلانات قبل انتهاء صلاحيتها (عادةً بعد ساعة واحدة).
- تحسين ذاكرة التخزين المؤقت: إذا كنت تستخدم حجم ذاكرة تخزين مؤقت أكبر من واحد، تعمل Google Mobile Ads Unity Plugin على تحسين ترتيب ذاكرة التخزين المؤقت لعرض أفضل إعلان.
يتناول هذا الدليل كيفية ضبط إعدادات الإعلانات المحمَّلة مسبقًا والتحقّق من توفّرها وعرضها.
المتطلبات الأساسية
قبل المتابعة في هذا البرنامج التعليمي، عليك إكمال ما يلي:
- ثبِّت الإصدار 10.3.0 أو إصدارًا أحدث من Google Mobile Ads Unity Plugin.
- إعداد Google Mobile Ads Unity Plugin
استخدِم الإصدار
24.4.0من حزمة تطوير البرامج (SDK) لنظام التشغيل Android والإصدار12.6.0من حزمة تطوير البرامج (SDK) لنظام التشغيل iOS.اختياري: نزِّل تطبيقًا نموذجيًا للتحميل المُسبق للإعلانات وشغِّله.
بدء التحميل المُسبَق للإعلانات
لبدء التحميل المُسبَق للإعلانات، استدعِ الدالة 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();
ضبط حجم ذاكرة التخزين المؤقت
يتحكّم حجم ذاكرة التخزين المؤقت في عدد الإعلانات المحمَّلة مسبقًا والمخزَّنة في الذاكرة. تُحسِّن Google تلقائيًا حجم ذاكرة التخزين المؤقت لتحقيق التوازن بين استهلاك الذاكرة ووقت استجابة عرض الإعلانات. إذا كان تطبيقك يعرض الإعلانات قبل تحميل الإعلان التالي، يمكنك ضبط حجم ذاكرة التخزين المؤقت المخصّص لزيادة عدد الإعلانات المحفوظة في الذاكرة. ننصحك بحجم ذاكرة التخزين المؤقت لا يزيد عن أربعة.
new PreloadConfiguration
{
AdUnitId = AD_UNIT_ID,
Request = new AdRequest(),
BufferSize = 5
};