پادرمیانی

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

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

مراحل بعدی

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