โดยทั่วไปแล้ว แพลตฟอร์มโฆษณาฝั่งขายจะกระจายแหล่งที่มาของดีมานด์โฆษณาเพื่อเพิ่มรายได้จากโฆษณา เมื่อใช้สื่อกลางโฆษณา เครือข่ายโฆษณาหรือบริการจะเรียกใช้เครือข่ายโฆษณาหลายเครือข่ายเพื่อพิจารณาโฆษณาที่ดีที่สุดสําหรับช่องโฆษณาหนึ่งๆ ข้อเสนอนี้อธิบายวิธีขยาย Protected Audience API ใน Android เพื่อใช้ฟังก์ชันการทำงานของสื่อกลาง Waterfall ในลักษณะที่รักษาความเป็นส่วนตัว ปัจจุบันเครือข่ายโฆษณามีวิธีต่างๆ มากมายที่นักพัฒนาแอปสามารถใช้สื่อกลางการประมูลโฆษณาจากผู้ขายโฆษณาหลายราย
- สื่อกลางตามลำดับขั้น: นักพัฒนาแอปกําหนดรายการเครือข่ายโฆษณาตามลําดับ ซึ่งมักจัดลําดับตาม eCPMs ที่ผ่านมาของเครือข่ายนั้นๆ รายการนี้เรียกว่าเชนสื่อกลาง แพลตฟอร์มสื่อกลางของนักพัฒนาแอปใช้รายการนี้เพื่อเรียกใช้เครือข่ายโฆษณาตามลําดับที่ระบุเพื่อระบุแหล่งที่มาของดีมานด์โฆษณาที่เกี่ยวข้อง
- สื่อกลางแบบเป็นโปรแกรม: นักพัฒนาแอปจะกําหนดค่าเครือข่ายโฆษณาหลายเครือข่ายให้เข้าร่วมการเสนอราคาสําหรับโอกาสในการแสดงโฆษณา เครือข่ายเหล่านี้ได้รับอนุญาตให้เสนอราคาแบบเรียลไทม์ตามมูลค่าของโอกาส
- สื่อกลางแบบผสม: การใช้เทคนิคสื่อกลาง Waterfall และสื่อกลางแบบเป็นโปรแกรมร่วมกัน
การแสดงโฆษณาสื่อกลางตามลำดับขั้น
ในการแสดงโฆษณาสื่อกลางตามลำดับขั้น เมื่อมีโอกาสแสดงโฆษณา SDK ของโฆษณาจะส่งคําขอไปยังเซิร์ฟเวอร์แบ็กเอนด์ แทนที่จะตอบกลับคําขอด้วยครีเอทีฟโฆษณาที่มีประสิทธิภาพสูงสุด เซิร์ฟเวอร์จะตอบกลับด้วยเชนสื่อกลางที่มีรายการเครือข่ายโฆษณาซึ่งจัดเรียงตาม eCPM ที่ผ่านมา
รูปที่ 1 รูปแบบการแสดงโฆษณาสื่อกลางตามลำดับขั้น
ในรูปแบบ Waterfall แบบดั้งเดิม SDK ของโฆษณาจะเรียกใช้เครือข่ายโฆษณาแต่ละเครือข่าย (หรือ SDK การประมูลของตัวเอง) ตามลําดับที่ระบุโดยเชนสื่อกลาง หากเครือข่ายโฆษณาสามารถส่งโฆษณาตามคำขอได้ เครือข่ายโฆษณาจะแสดงโฆษณา หากไม่ ระบบจะส่งคําขอไปยังเครือข่ายถัดไปในเชน กระบวนการนี้จะทำงานซ้ำจนกว่าคำขอจะได้รับการตอบสนองหรือจนกว่าเชนจะหมด
สื่อกลาง Waterfall มักได้รับการเพิ่มประสิทธิภาพโดยการจัดลําดับสื่อกลางตามลําดับขั้นใหม่เป็นประจําตามการประเมิน eCPM อีกครั้งจากแหล่งที่มาของดีมานด์โฆษณาบุคคลที่หนึ่ง
สื่อกลางแบบเป็นโปรแกรม
สื่อกลางแบบเป็นโปรแกรม (หรือที่เรียกว่า "การเสนอราคาส่วนหัว") เป็นทางเลือกแทนการใช้ eCPM ที่ผ่านมาเพื่อพิจารณาว่าเครือข่ายโฆษณาใดมีโอกาสแสดงคำขอโฆษณา เมื่อใช้สื่อกลางแบบเป็นโปรแกรม ผู้ให้บริการจะใช้ค่าการเสนอราคาจริงเพื่อค้นหาโฆษณาที่ชนะแทน

รูปที่ 2: รูปแบบสื่อกลางแบบเป็นโปรแกรม
สื่อกลางแบบผสม
โซลูชันสื่อกลางแบบเป็นโปรแกรมบางรายการจะรวมเครือข่ายโฆษณาไว้ในโหมดผสมผสานระหว่าง Waterfall และการเสนอราคาเพื่อให้ควบคุมโฆษณาได้มากขึ้น ในขณะเดียวกันก็ได้รับประโยชน์จากการใช้ eCPM แบบเรียลไทม์เพื่อเพิ่มรายได้สูงสุดจากเครือข่ายโฆษณาที่เข้าร่วม
ในรูปแบบสื่อกลางแบบผสม เครือข่ายโฆษณาและผู้ให้บริการสื่อกลางจะเพิ่มความยืดหยุ่นให้กับนักพัฒนาแอปได้ด้วยการรวมองค์ประกอบของ Waterfall และการเสนอราคาแบบเรียลไทม์ รูปแบบผสมช่วยให้นักพัฒนาแอปกําหนดค่าเครือข่ายโฆษณาตาม eCPM ที่ผ่านมาได้ ซึ่งช่วยให้มีโอกาสแสดงโฆษณาก่อนใช้งานการเสนอราคาแบบเรียลไทม์กับเครือข่ายที่เข้าร่วมเพื่อใช้โอกาสในการโฆษณา
การแสดงโฆษณาสื่อกลางตามลำดับขั้น (Waterfall Mediation) ของ Protected Audience
Protected Audience API ใน Android รองรับการแสดงโฆษณาสื่อกลางตามลำดับขั้น (Waterfall Mediation) โดยการประมูลหลายครั้ง โดยแต่ละครั้งเป็นการประมูลสำหรับแต่ละโหนดในกราฟสื่อกลาง หากไม่มีการประมูลที่ชนะ ระบบจะเรียกใช้โหนดการประมูลของเครือข่ายถัดไปจนกว่าเชนจะหมด กระบวนการสื่อกลางตามลำดับขั้นมีดังนี้
- SDK สื่อกลางจะดึงข้อมูลเชนสื่อกลางจากปลายทางเซิร์ฟเวอร์โฆษณาตามบริบท ซึ่งอาจแสดงโฆษณาตามบริบทหรือเชนสื่อกลาง
- หากปลายทางเซิร์ฟเวอร์โฆษณาแสดงเชนสื่อกลาง SDK สื่อกลางจะวนดูรายการแต่ละรายการในเชนตามลําดับ โดยเรียกใช้ SDK ของเครือข่ายโฆษณาที่เข้าร่วมเพื่อเรียกใช้การเลือกโฆษณาตามบริบทและรีมาร์เก็ตติ้ง รายการแต่ละรายการในเชนแสดงถึงคําขอของเครือข่ายโฆษณาในการซื้อพื้นที่โฆษณาในราคาที่เจาะจงสําหรับจํานวนการแสดงผล การคลิก หรือเวลาโฆษณาที่เจาะจง
- หากไม่มีรายการโฆษณาใดในเชนเลือกโฆษณาที่มีประสิทธิภาพสูงสุด SDK สื่อกลางอาจเลือกแสดงโฆษณาจากเครือข่ายโฆษณาของตนเองโดยเรียกใช้การเลือกโฆษณากลุ่มเป้าหมายที่ได้รับการปกป้องซึ่งพิจารณาทั้งรีมาร์เก็ตติ้งและโฆษณาตามบริบท
รูปที่ 3 สื่อกลาง Waterfall ที่ใช้ Protected Audience API
แผนภาพก่อนหน้าแสดงตัวอย่างอัลกอริทึมการแสดงโฆษณาสื่อกลางตามลำดับขั้นที่ SDK สื่อกลางสามารถติดตั้งใช้งานได้ แต่เครือข่ายโฆษณาบุคคลที่หนึ่งไม่สามารถเพิ่มประสิทธิภาพได้ Protected Audience API รองรับการเพิ่มประสิทธิภาพเครือข่ายโฆษณาของบุคคลที่หนึ่งด้วยการอนุญาตให้ใช้เวิร์กโฟลว์การเลือกโฆษณาแบบเชน และรายงานการแสดงผลที่ชนะ
ผลลัพธ์ของการเลือกโฆษณา
ประเภทผลลัพธ์ของ selectAds()
คือออบเจ็กต์ AdSelectionOutcome
AdSelectionOutcome
มี URI การเรนเดอร์ของโฆษณาที่ชนะและ AdSelectionId
ซึ่งเป็นจำนวนเต็ม แบบทึบที่ระบุครีเอทีฟโฆษณาของรายการโฆษณาที่ชนะ
AdSelectionOutcome {
Uri renderUri;
Long AdSelectionId;
}
AdSelectionId
ทำหน้าที่เป็นเคอร์เซอร์ไปยัง AdSelectionOutcome
ปัจจุบัน ระบบจะส่ง AdSelectionId
ไปยังเมธอด reportResult()
ในฐานะพารามิเตอร์ ReportImpressionInput
เพื่อช่วยระบุโฆษณาที่ถูกต้องซึ่งจะเรียกใช้เมธอด reportWin()
และ reportResult()
แนวทางการเลือกโฆษณาแบบเชน
เราขอแนะนำให้โอเวอร์โหลด selectAds()
ด้วย AdSelectionFromOutcomesConfig
val config = AdSelectionFromOutcomesConfig.Builder()
.setSeller(seller)
.setAdSelectionIds(listOf(outcome1pAdSelectionId))
.setSelectionSignals({"bid_floor": bidFloorOfNextNetworkInline})
.setSelectionLogicUri(selectionLogicUri)
.build()
adSelectionClient.selectAds(config)
ซึ่งช่วยให้ Mediation SDK เปรียบเทียบราคาเสนอของโฆษณาที่ชนะกับราคาเสนอขั้นต่ำของเครือข่ายในรายการถัดไปได้
ตัวอย่างที่ 1
ตัวอย่างที่ 2
รายงานการแสดงผลที่มีประสิทธิภาพสูงสุด
หากมีโฆษณาที่ชนะจาก selectAds(AdSelectionFromOutcomes)
แสดงว่าโฆษณานั้นชนะการสื่อกลาง จากนั้นระบบจะเรียก reportImpression
ด้วยรหัสการเลือกโฆษณาของโฆษณาที่ชนะจาก selectAds(AdSelectionFromOutcomes)
และ AdSelectionConfig
ที่เกี่ยวข้อง
หากระบบแสดงผลผู้ชนะจาก selectAds(AdSelectionConfig)
สําหรับเครือข่ายใดก็ตาม ระบบจะเรียก reportImpression
ด้วยรหัสการเลือกโฆษณาและการกำหนดค่าจากคําเรียกนั้น
เรียกใช้การแสดงโฆษณาสื่อกลางตามลำดับขั้น
ลำดับการดำเนินการเพื่อเรียกใช้กระบวนการสื่อกลางตามลำดับขั้นมีดังนี้
- เรียกใช้การเลือกโฆษณาของบุคคลที่หนึ่ง
- วนเชนสื่อกลาง ทําดังนี้สําหรับเครือข่ายของบุคคลที่สามแต่ละเครือข่าย
- สร้าง
AdSelectionFromOutcomeConfig
ซึ่งรวมถึงoutcomeId
ของบุคคลที่ 1 และราคาเสนอขั้นต่ำของ SDK ของบุคคลที่สาม - โทรหา
selectAds()
พร้อมแจ้งconfig
จากขั้นตอนก่อนหน้า - หากผลลัพธ์ไม่ว่างเปล่า ให้แสดงโฆษณา
- เรียกใช้เมธอด
selectAds()
ของอะแดปเตอร์เครือข่าย SDK ปัจจุบัน หากผลลัพธ์ไม่ว่างเปล่า ให้แสดงโฆษณา
- สร้าง
- หากไม่พบผู้ชนะจากเชน ให้แสดงโฆษณาของบุคคลที่หนึ่ง
แนวทางปฏิบัติแนะนำ
เรียกใช้การประมูลตามบริบทก่อนการเพิ่มประสิทธิภาพของบุคคลที่หนึ่ง
ดีมานด์รีมาร์เก็ตติ้งสามารถสร้างราคาเสนอที่สูงซึ่งจะให้ผลลัพธ์ที่ชนะในเชนสื่อกลาง การลบส่วนเกินเป็นกระบวนการที่ใช้บ่อยในการเปิดใช้การเพิ่มประสิทธิภาพของบุคคลที่หนึ่งโดยการปรับแต่งรายการกลุ่มเป้าหมายรีมาร์เก็ตติ้ง
ดีมานด์รีมาร์เก็ตติ้งของ Protected Audience API จะใช้งานได้เฉพาะฝั่งไคลเอ็นต์กับการประมูล Protected Audience ซึ่งอาจทําให้เปิดใช้การเพิ่มประสิทธิภาพของบุคคลที่หนึ่งในฝั่งเซิร์ฟเวอร์ได้ยาก หากต้องการลดปัญหาเกี่ยวกับการเพิ่มประสิทธิภาพของบุคคลที่หนึ่ง ให้เรียกใช้การประมูลตามบริบทก่อน จากนั้นจึงเพิ่มประสิทธิภาพของบุคคลที่หนึ่งตามผลลัพธ์โฆษณาที่ชนะตามที่อธิบายไว้ก่อนหน้านี้ในหน้านี้
รักษาจำนวนสื่อกลางในอุปกรณ์ให้น้อย
โซ่สื่อกลางในอุปกรณ์ควรมีจำนวนไม่มากนักเพื่อให้ได้ประสิทธิภาพสูงสุด ต้นทุนการประมวลผลสําหรับการเรียกใช้บนอุปกรณ์อาจแปรผันตามจํานวนการประมูลที่ประเมินเป็นส่วนหนึ่งของเชนสื่อกลาง กล่าวคือ โหนดที่มากขึ้นจะส่งผลให้ต้องใช้รอบการประมวลผลมากขึ้นและเวลาในการตอบสนองเพิ่มขึ้น พิจารณาผลกระทบของเวลาในการตอบสนองต่อรายได้เมื่อส่งโหนดไปยังการประเมินสื่อกลางในอุปกรณ์
ข้อควรพิจารณาเพิ่มเติม
Protected Audience API ไม่มีโซลูชันที่ครอบคลุมสําหรับสื่อกลางของช่องโฆษณาหลายช่อง แต่ละช่องโฆษณาต้องได้รับการประมวลผลแยกกัน
Protected Audience Mediation API รองรับการแสดงโฆษณาสื่อกลางตามลำดับขั้น (Waterfall Mediation) และการแสดงโฆษณาสื่อกลางแบบเป็นโปรแกรมแบบจํากัด เราจะแชร์รายละเอียดเพิ่มเติมเกี่ยวกับการรองรับกรณีการใช้งานสื่อกลางแบบเป็นโปรแกรมเพิ่มเติมในอนาคต
เนื่องจากการเลือกโฆษณาของ Protected Audience จะทํางานหลังจากที่ดึงข้อมูลโฆษณาตามบริบทแล้ว การเรียกใช้ Protected Audience API อาจส่งผลต่อเวลาในการตอบสนองจากต้นทางถึงปลายทางของคําขอโฆษณา