التحميل المُسبَق للإعلانات (إصدار تجريبي)

اختيار النظام الأساسي: iOS Unity Flutter Android (إصدار قديم)

ميزة "التحميل المُسبَق للإعلانات" هي ميزة تديرها Google لتحميل الإعلانات في Google Mobile Ads Flutter Plugin وتتولّى إدارة تحميل الإعلانات وتخزينها مؤقتًا نيابةً عنك. تتطلّب ميزة "التحميل المُسبَق للإعلانات" تغيير طريقة إدارة تحميل الإعلانات. لتحسين الأداء باستخدام ميزة "التحميل المُسبَق للإعلانات"، عليك إيقاف ميزة التخزين المؤقت المخصّص وتفويض هذه المسؤولية إلى Google Mobile Ads Flutter Plugin.

تقدّم ميزة "التحميل المُسبَق للإعلانات" المزايا التالية مقارنةً بميزة "تحميل الإعلانات يدويًا":

  • إدارة المراجع: تحتفظ هذه الميزة بالإعلانات التي تم تحميلها، ما يغنيك عن الاحتفاظ بالمراجع إلى أن تصبح مستعدًا لعرضها.
  • إعادة التحميل التلقائي: يتم تلقائيًا تحميل إعلان جديد عندما تسحب إعلانًا من ذاكرة التخزين المؤقت.
  • إعادة المحاولة المُدارة: تتم تلقائيًا إعادة محاولة الطلبات التي تعذّر إرسالها باستخدام ميزة "التراجع الدليلي".
  • التعامل مع انتهاء الصلاحية: يتم تلقائيًا تحديث الإعلانات قبل انتهاء صلاحيتها (عادةً بعد ساعة واحدة).
  • تحسين ذاكرة التخزين المؤقت: إذا كنت تستخدم حجم ذاكرة تخزين مؤقت أكبر من واحد، Google Mobile Ads Flutter Plugin يحسِّن ترتيب ذاكرة التخزين المؤقت لعرض أفضل إعلان.

يغطّي هذا الدليل كيفية ضبط ميزة "التحميل المُسبَق للإعلانات"، والتحقّق من توفّرها، وعرض الإعلان الذي تم تحميله مُسبقًا.

المتطلبات الأساسية

قبل مواصلة هذا البرنامج التعليمي، عليك إعداد Google Mobile Ads Flutter Plugin.

بدء التحميل المُسبَق للإعلانات

عند بدء التطبيق، استدعِ الطريقة start مرة واحدة. بعد استدعاء الطريقة start، يحمِّل Google Mobile Ads Flutter Plugin الإعلانات تلقائيًا بشكل مُسبَق، ويعيد محاولة الطلبات التي تعذّر إرسالها للإعدادات التي تم تحميلها مُسبقًا.

يبدأ المثال التالي التحميل المُسبَق للإعلانات:

InterstitialAdPreloader.start(
  preloadId: _adUnitId,
  preloadConfiguration: PreloadConfiguration(adUnitId: _adUnitId),
  callback: const PreloadCallback(),
);

استبدِل _adUnitId برقم تعريف وحدتك الإعلانية.

الحصول على الإعلان الذي تم تحميله مُسبقًا وعرضه

عند استخدام ميزة "التحميل المُسبَق للإعلانات"، Google Mobile Ads Flutter Plugin يحتفظ بالإعلانات المخزّنة مؤقتًا. عندما تريد عرض إعلان، استدعِ الطريقة pollAd. يستردّ Google Mobile Ads Flutter Plugin إعلانًا متاحًا ويحمِّل تلقائيًا الإعلان التالي بشكل مُسبَق في الخلفية.

تجنَّب استدعاء الطريقة pollAd إلى أن تصبح مستعدًا لعرض إعلان. يسمح الاحتفاظ بالإعلانات في ذاكرة التخزين المؤقت لـ Google Mobile Ads Flutter Plugin بتحديث الإعلانات منتهية الصلاحية تلقائيًا وإجراء تحسين ذاكرة التخزين المؤقت.

يستردّ المثال التالي إعلانًا تم تحميله مُسبقًا ويعرضه:

void _pollAndShowAd() async {
  final InterstitialAd? ad = await InterstitialAdPreloader.pollAd(_adUnitId);
  if (ad != null) {
    _interstitialAd = ad;
    ad.fullScreenContentCallback = FullScreenContentCallback(
      onAdImpression: (ad) {
        // Called when an impression occurs on the ad.
        debugPrint('Ad recorded an impression.');
      },
    );
    ad.onPaidEvent = (ad, valueMicros, precision, currencyCode) {
      // Called when an ad is estimated to have earned money.
      debugPrint('Ad paid: $valueMicros $currencyCode.');
    };
    // Show the ad.
    await ad.show();
  }
}

التحقّق من توفّر الإعلانات التي تم تحميلها مُسبقًا

للتحقّق من توفّر الإعلانات، اختَر أحد الخيارَين التاليَين:

الحصول على معلومات حول توفّر الإعلانات التي تم تحميلها مُسبقًا

يتحقّق المثال التالي من توفّر الإعلانات:

void _checkAdAvailability() async {
  final bool isAvailable = await InterstitialAdPreloader.isAdAvailable(
    _adUnitId,
  );
  debugPrint('Is ad available: $isAvailable');
}

الاستماع إلى معلومات حول توفّر الإعلانات التي تم تحميلها مُسبقًا

سجِّل الأحداث التي يتم تحميلها مُسبقًا لتلقّي إشعار عند تحميل الإعلانات بنجاح أو تعذُّر تحميلها مُسبقًا أو استنفاد ذاكرة التخزين المؤقت للإعلانات.

إنّ الأحداث التي يتم تحميلها مُسبقًا مخصّصة لأغراض الإحصاءات. ضمن عمليات معاودة الاتصال لحدث خلال التحميل المُسبق:

  • لا تستدعِ الطريقة start.
  • تجنَّب استدعاء الطريقة pollAd إلا إذا كان سيتم عرض الإعلان على الفور.

يسجِّل المثال التالي أحداث الإعلانات:

InterstitialAdPreloader.start(
  preloadId: _adUnitId,
  preloadConfiguration: PreloadConfiguration(adUnitId: _adUnitId),
  callback: PreloadCallback(
    onAdPreloaded: (preloadId, responseInfo) {
      debugPrint('Ad preloaded for ID: $preloadId');
    },
    onAdFailedToPreload: (preloadId, error) {
      debugPrint('Ad failed to preload for ID: $preloadId. Error: $error');
    },
    onAdsExhausted: (preloadId) {
      debugPrint('All preloaded ads exhausted for ID: $preloadId');
    },
  ),
);

إيقاف التحميل المُسبَق للإعلانات

إذا لم تعُد بحاجة إلى عرض إعلانات لمعرّف تحميل مُسبَق معيّن في الجلسة، يمكنك إيقاف التحميل المُسبَق للإعلانات. لإيقاف التحميل المُسبَق للإعلانات لمعرّف تحميل مُسبَق معيّن، استدعِ الطريقة destroy باستخدام معرّف تحميل مُسبَق. لإيقاف التحميل المُسبَق لجميع أدوات التحميل المُسبَق، استدعِ الطريقة destroyAll.

void _stopPreloading() async {
  await InterstitialAdPreloader.destroy(_adUnitId);
}

ضبط حجم ذاكرة التخزين المؤقت

يتحكّم حجم ذاكرة التخزين المؤقت في عدد الإعلانات التي تم تحميلها مُسبقًا والمخزّنة في الذاكرة. تُحسِّن Google تلقائيًا حجم ذاكرة التخزين المؤقت لتحقيق التوازن بين استهلاك الذاكرة والوقت المستغرَق لعرض الإعلانات. إذا كان تطبيقك يعرض الإعلانات قبل تحميل الإعلان التالي، يمكنك ضبط حجم ذاكرة تخزين مؤقت مخصّص لزيادة عدد الإعلانات المحفوظة في الذاكرة.

InterstitialAdPreloader.start(
  preloadId: _adUnitId,
  preloadConfiguration: PreloadConfiguration(
    adUnitId: _adUnitId,
    bufferSize: 3,
  ),
  callback: const PreloadCallback(),
);

حدود ذاكرة التخزين المؤقت للتحميل المُسبَق

Google Mobile Ads Flutter Plugin يفرض حدًا على مستوى التطبيق على إجمالي عدد الإعلانات التي تم تحميلها مُسبقًا على مستوى جميع الوحدات الإعلانية ومعرّفات التحميل المُسبَق:

  • الحدّ التلقائي: يحتفظ Google Mobile Ads Flutter Plugin بحد أقصى 6 إعلانات تم تحميلها مُسبقًا في الذاكرة. تتم مشاركة هذا الحدّ على مستوى جميع الأشكال ومعرّفات التحميل المُسبَق.
  • ننصحك بالاحتفاظ بحجم ذاكرة تخزين مؤقت يبلغ اثنين لكل معرّف تحميل مُسبَق.