บริการไกล่เกลี่ย

สื่อกลาง 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.
}

อย่าลืมปิดการรีเฟรชใน UI เครือข่ายโฆษณาบุคคลที่สามทั้งหมดสำหรับหน่วยโฆษณาแบนเนอร์ที่ใช้ในสื่อกลาง AdMob วิธีนี้จะป้องกันไม่ให้มีการรีเฟรชซ้ำเนื่องจาก AdMob จะทริกเกอร์การรีเฟรชตามอัตราการรีเฟรชของหน่วยโฆษณาแบนเนอร์ด้วย

ขั้นตอนถัดไป

Google Mobile Ads C++ SDK รวมการใช้งาน SDK ของ Android และ iOS สำหรับสื่อกลาง ดังนั้น การกำหนดค่าเพิ่มเติม รวมถึงการติดตั้งอะแดปเตอร์สื่อกลางจึงมีไว้สำหรับแพลตฟอร์ม Android และ iOS โดยเฉพาะ สำหรับข้อมูลเพิ่มเติม โปรดดูคู่มือการเลือกเครือข่ายสำหรับ Android SDK ของ Google Mobile Ads และคู่มือเครือข่ายการเลือก Google Mobile Ads iOS SDK