الوساطة

توسّط 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.
}

لمزيد من المعلومات عن العمل مع العقود الآجلة، انظر استخدام العقود الآجلة لمراقبة حالة اكتمال استدعاءات الأساليب.

التحقق من قيمة 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 على الأجهزة الجوّالة عمليات تنفيذ حزمة تطوير البرامج (SDK) لنظامي التشغيل Android وiOS للحصول على التوسط. ولذلك، تقتصر عملية الإعداد الإضافية، بما في ذلك تثبيت محوّلات التوسّط، على النظامين الأساسيين Android وiOS. ولمزيد من المعلومات، اطّلِع على دليل اختيار الشبكات لنظام التشغيل Android لإعلانات Google على الأجهزة الجوّالة ودليل اختيار الشبكات في حزمة تطوير البرامج (SDK) لإعلانات Google على الأجهزة الجوّالة لنظام التشغيل iOS.