الوساطة


توسّط AdMob هو عبارة عن ميزة تتيح لك عرض الإعلانات على تطبيقاتك من مصادر متعددة، بما في ذلك شبكة AdMob وشبكات الإعلانات التابعة لجهات خارجية وحملات AdMob. تساعد ميزة "توسّط AdMob" في زيادة معدّل التعبئة إلى أقصى حد وزيادة معدّل تحقيق الربح من خلال إرسال طلبات عرض الإعلانات إلى شبكات متعددة لضمان عثورك على أفضل شبكة متاحة. دراسة حالة

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

قبل دمج التوسّط مع أحد أشكال الإعلانات، عليك دمج شكل الإعلان هذا في تطبيقك باتّباع الخطوات التالية:

هل أنت حديث العهد بالتوسّط؟ اطّلِع على نظرة عامة حول "توسّط AdMob".

إعداد حزمة تطوير البرامج (SDK) للإعلانات على الأجهزة الجوّالة

يوضّح لك دليل البدء السريع كيفية إعداد حزمة تطوير البرامج (SDK) لعرض الإعلانات على الأجهزة الجوّالة. أثناء طلب الإعداد هذا، يتم أيضًا إعداد وسيطاء التوسّط. من المهم الانتظار إلى أن يكتمل الإعداد قبل تحميل الإعلانات لضمان مشاركة جميع شبكات الإعلانات بشكل كامل في طلب الإعلان الأول.

يعرض نموذج الرمز البرمجي أدناه كيفية التحقّق من حالة تهيئة كل وسيط قبل تقديم طلب إعلان.

// Initialize the Google Mobile Ads library
firebase::gma::Initialize(*app);

// In a game loop, monitor the initialization status
auto initialize_future = firebase::gma::InitializeLastResult();

if (initialize_future.status() == firebase::kFutureStatusComplete &&
    initialize_future.error() == firebase::gma::kAdErrorCodeNone) {
  // Initialization completed successfully, log the adapter status:
  std::map<std::string, firebase::gma::AdapterStatus> adapter_status_map =
      firebase::gma::GetInitializationStatus().GetAdapterStatusMap();

  for (auto it = adapter_status_map.begin(); it != adapter_status_map.end(); ++it) {
    std::string adapter_class_name = it->first;
    firebase::gma::AdapterStatus adapter_status = it->second;
    printf(adapter: %s \t description: %s \t is_initialized: %d latency: %d\n,
       adapter_class_name.c_str(),
       adapter_status.description().c_str(),
       adapter_status.is_initialized(),
       adpater_status.latency());
  }
} else {
  // Handle initialization error.
}

لمزيد من المعلومات حول استخدام Futures، يُرجى الاطّلاع على استخدام Futures لتتبُّع حالة اكتمال طلبات الطرق.

تحقَّق من قيمة adNetworkClassName

تحتوي كل نتيجة إعلان على معلومات حول اسم فئة شبكة الإعلانات التي جلبت الإعلان الحالي.

في ما يلي نموذج رمز يسجّل اسم فئة شبكة الإعلانات من AdResult تمّ عرضه من AdView. يمكن استخدام رمز مشابه للإعلانات البينية والإعلانات مقابل مكافآت:

firebase::Future<AdResult> load_ad_future = banner_view.loadAd(ad_request);

// In a game loop, monitor the ad load status
if (load_ad_future.status() == firebase::kFutureStatusComplete &&
    load_ad_future.error() == firebase::gma::kAdErrorCodeNone) {
  const AdResult* ad_result = load_ad_future.result();
  printf(Loaded ad with adapter class name: %s\n,
    ad_result->adapter_class_name().c_str());
} else {
  // Handle the load ad error.
}

احرص على إيقاف ميزة إعادة التحميل في جميع واجهات المستخدم الخاصة بشبكات المواقع الإعلانية التابعة لجهات خارجية لوحدات إعلانات البانر المستخدَمة في &quot;التوسّط&quot; في AdMob. سيؤدي ذلك إلى منع إعادة التحميل المزدوج لأنّ AdMob يُفعّل أيضًا عملية إعادة تحميل استنادًا إلى معدّل إعادة التحميل الخاص بوحدة إعلانات البانر.

الخطوات التالية

تتضمّن حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" الخاصة بتطبيقات C++‎ عمليات تنفيذ حزمة SDK لنظامَي التشغيل Android وiOS من أجل التوسّط. لذلك، فإنّ أي إعدادات إضافية، بما في ذلك تثبيت برامج التكيّف مع التوسّط، تكون خاصة بنظامَي التشغيل Android وiOS. لمزيد من المعلومات، يُرجى الاطّلاع على دليل اختيار الشبكات في حزمة تطوير البرامج لنظام Android من "إعلانات Google على الأجهزة الجوّالة" ودليل اختيار الشبكات في حزمة تطوير البرامج لنظام التشغيل iOS من "إعلانات Google على الأجهزة الجوّالة".