الوساطة


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

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

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

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

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

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

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

// 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.
}

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

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

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