الوساطة

توسّط 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 يشغّل أيضًا عملية تحديث استنادًا إلى معدّل تحديث الوحدة الإعلانية لإعلانات البانر.

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

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