สื่อกลาง 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.
}
สื่อกลางโฆษณาแบนเนอร์
อย่าลืมปิดใช้การรีเฟรชใน UI เครือข่ายโฆษณาของบุคคลที่สามทั้งหมดสําหรับหน่วยโฆษณาแบนเนอร์ที่ใช้ในสื่อกลาง AdMob ซึ่งจะป้องกันการรีเฟรช 2 ครั้ง เนื่องจาก AdMob ทริกเกอร์การรีเฟรชตามอัตราการรีเฟรชของหน่วยโฆษณาแบนเนอร์ด้วย
สื่อกลางโฆษณาที่มีการให้รางวัล
เราขอแนะนําให้คุณลบล้างมูลค่ารางวัลเริ่มต้นทั้งหมดด้วยการกําหนดมูลค่ารางวัลใน UI ของ AdMob โดยเลือกช่องใช้กับทุกเครือข่ายในกลุ่มสื่อกลางเพื่อให้รางวัลสอดคล้องกันในทุกเครือข่าย เครือข่ายโฆษณาบางเครือข่ายไม่มีมูลค่าหรือประเภทของรางวัลเลย เมื่อลบล้างมูลค่ารางวัล รางวัลจะสอดคล้องกันไม่ว่าเครือข่ายโฆษณาจะแสดงโฆษณาที่ใด
ดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่ารางวัลใน UI ของ AdMob ได้ที่สร้างหน่วยโฆษณาที่มีการให้รางวัล
ขั้นตอนถัดไป
SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ C++ ของ Google จะรวม SDK ของ Android และ iOS สําหรับสื่อกลางเอาไว้ ดังนั้นการกําหนดค่าเพิ่มเติม รวมถึงการติดตั้งอะแดปเตอร์ของสื่อกลางจะมีไว้เฉพาะสําหรับแพลตฟอร์ม Android และ iOS ดูข้อมูลเพิ่มเติมได้ในคู่มือเลือกเครือข่าย SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google สําหรับ Android และคู่มือเลือก SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ iOS สําหรับ Google