پادرمیانی


میانجیگری 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.
}

مطمئن شوید که قابلیت رفرش را در تمام رابط کاربری شبکه‌های تبلیغاتی شخص ثالث برای واحدهای تبلیغاتی بنری مورد استفاده در AdMob Mediation غیرفعال کرده‌اید. این کار از رفرش دوگانه جلوگیری می‌کند، زیرا AdMob نیز بر اساس نرخ رفرش واحد تبلیغاتی بنری شما، رفرش را فعال می‌کند.

مراحل بعدی

کیت توسعه نرم‌افزار C++ تبلیغات موبایل گوگل، پیاده‌سازی‌های SDK اندروید و iOS را برای میانجیگری در بر می‌گیرد. بنابراین، پیکربندی بیشتر، از جمله نصب آداپتورهای میانجیگری، مختص پلتفرم‌های اندروید و iOS است. برای اطلاعات بیشتر، به راهنمای «انتخاب شبکه‌ها توسط SDK اندروید تبلیغات موبایل گوگل» و راهنمای «انتخاب شبکه‌ها توسط SDK iOS تبلیغات موبایل گوگل» مراجعه کنید.