สื่อกลางเป็นวิธีทั่วไปที่แพลตฟอร์มโฆษณาฝั่งขายใช้ในการจัดการผลตอบแทน ในเวิร์กโฟลว์สื่อกลาง SDK สื่อกลาง ("สื่อกลาง") จะเรียกใช้เครือข่ายโฆษณาหลายเครือข่าย ("สื่อกลาง" หรือ "สื่อกลาง") เพื่อรับโฆษณาที่ดีที่สุดสำหรับช่องที่กำหนด ใน บางกรณี ทั้งสื่อกลางและเครือข่ายโฆษณาที่เรียกใช้จะต้องมี SDK อยู่ในอุปกรณ์และโต้ตอบกัน
เอกสารนี้อธิบายการเปลี่ยนแปลงที่สำคัญในเวิร์กโฟลว์สื่อกลางใน SDK Runtime โดยจะครอบคลุมหัวข้อต่อไปนี้
- ความแตกต่างระหว่างโฟลว์สื่อกลางก่อนหน้ากับการรองรับสื่อกลางใน SDK Runtime ปัจจุบัน
- ตั้งค่าการกระทําสําหรับเวิร์กโฟลว์สื่อกลางในรันไทม์ของ SDK และขั้นตอนต่างๆ ของการเปลี่ยนผ่าน
- คำแนะนำเกี่ยวกับวิธีจัดการสถานการณ์ที่ SDK บางรายการยังไม่ได้ย้ายข้อมูลไปยัง รันไทม์
การรองรับโฆษณาที่สื่อกลางในรันไทม์ของ SDK พร้อมใช้งานตั้งแต่ AGP 8.5 และจากไลบรารี Jetpack ของรันไทม์ของ SDK เวอร์ชันต่อไปนี้
| ไลบรารี Androidx | เวอร์ชัน |
|---|---|
| androidx.privacysandbox.activity | 1.0.0-alpha01 |
| androidx.privacysandbox.sdkruntime | 1.0.0-alpha13 |
| androidx.privacysandbox.tools | 1.0.0-alpha08 |
| androidx.privacysandbox.ui | 1.0.0-alpha09 |
อภิธานศัพท์
คำศัพท์ต่อไปนี้เป็นคำศัพท์สำคัญที่ช่วยให้เข้าใจสื่อกลางในรันไทม์ของ SDK
- SDK ที่เปิดใช้รันไทม์ (RE SDK): SDK ที่สร้างขึ้นเพื่อเรียกใช้ในสภาพแวดล้อมรันไทม์ของ SDK และสื่อสารกับแอปผ่านการสื่อสารระหว่างกระบวนการ (IPC)
- SDK ที่รับรู้รันไทม์ (RA SDK): SDK ที่ไม่ได้เปิดใช้รันไทม์ซึ่งลิงก์กับแอปแบบคงที่ ซึ่งอาจมีโค้ด SDK ที่มีอยู่ รวมถึงโค้ดใหม่เพื่อเรียกใช้ SDK ที่เปิดใช้รันไทม์
- SDK ในแอป: SDK ที่ทํางานโดยลิงก์กับแอปแบบคงที่ และไม่รู้จัก รันไทม์ของ SDK ซึ่งอาจเป็นเครือข่ายโฆษณาที่ยังไม่ได้ เปลี่ยนไปใช้ SDK Runtime หรืออะแดปเตอร์ที่กำหนดเองของผู้เผยแพร่โฆษณา
- สื่อกลาง: SDK สื่อกลางโฆษณาที่ให้บริการสื่อกลางในอุปกรณ์ โดยการโต้ตอบกับ SDK เครือข่ายโฆษณาอื่นๆ
- สื่อกลาง: SDK เครือข่ายโฆษณาที่สื่อกลางเรียกใช้เพื่อแสดงและ แสดงโฆษณา
- สื่อกลาง: SDK ที่ SDK สื่อกลางใช้เพื่อจัดหา API การแปลอินเทอร์เฟซเพื่อทำงานร่วมกับ SDK ของสื่อกลางต่างๆ ซึ่งโดยปกติ จะจัดหาโดยสื่อกลาง ซึ่งอาจรับรู้หรือไม่รับรู้รันไทม์ก็ได้
ขั้นตอนสื่อกลางทั่วไป
หาก SDK ของคุณต้องรองรับ Use Case ของสื่อกลางในรันไทม์ SDK คุณจะต้อง ทำการเปลี่ยนแปลงบางอย่าง ส่วนนี้จะตรวจสอบองค์ประกอบสำคัญของ โฟลว์สื่อกลางเพื่อให้เราสามารถจัดการกับการเปลี่ยนแปลงที่จำเป็นสำหรับผู้ไกล่เกลี่ยและ ผู้รับการไกล่เกลี่ย
โฟลว์ที่เราอธิบายแสดงถึงสื่อกลางในอุปกรณ์เวอร์ชันที่เรียบง่ายซึ่งมี SDK ของเครือข่ายโฆษณาหลายรายการ และเป็นพื้นฐานสำหรับการอภิปรายเกี่ยวกับการเปลี่ยนแปลงที่จำเป็นเพื่อให้เส้นทางสื่อกลางเข้ากันได้กับ SDK Runtime
เนื่องจากการใช้งานโฟลว์สื่อกลางมีความแตกต่างกัน เราจึงมุ่งเน้นที่โฟลว์หลัก 2 รายการต่อไปนี้
- การเริ่มต้น (รวมถึงการค้นหาเครือข่ายโฆษณาและการสื่อสาร)
- การนำเสนออินเทอร์เฟซผู้ใช้ (UI) ของโฆษณา
การเริ่มต้น
ต่อไปนี้คือการเริ่มต้นมาตรฐาน การค้นหาเครือข่ายโฆษณา และ ขั้นตอนการสื่อสาร
- แอปไคลเอ็นต์จะเริ่มต้นตัวกลาง
- สื่อกลางจะค้นหาและเริ่มต้นผู้รับสื่อกลางและอะแดปเตอร์ที่เกี่ยวข้อง
- สื่อกลางใช้อะแดปเตอร์ของตนเองเพื่อสื่อสารกับผู้รับสื่อกลางแต่ละราย
- แอปไคลเอ็นต์ขอให้สื่อกลางโหลดโฆษณา
- แอปไคลเอ็นต์ขอให้สื่อกลางแสดงโฆษณานี้
การนำเสนอ UI ของโฆษณา
เมื่อพูดถึงการแสดงโฆษณาหลังจากคำขอสุดท้ายในขั้นตอนก่อนหน้า โฟลว์จะขึ้นอยู่กับประเภทของโฆษณา ดังนี้
| โฆษณาแบนเนอร์ | โฆษณาแบบเต็มหน้าจอ | โฆษณาเนทีฟ |
|---|---|---|
| SDK สื่อกลางจะสร้างมุมมองโฆษณาซึ่งครอบคลุมมุมมองโฆษณาของสื่อกลางที่ชนะ นอกจากนี้ ยังอาจตั้งค่า Listener ใน View นี้ หรือรีเฟรชโฆษณาโดยอัตโนมัติ (โดยใช้ผู้รับสื่อรายเดียวกันหรือรายอื่น) |
SDK ของสื่อกลางจะขอโฆษณาแบบเต็มหน้าจอจากสื่อกลาง ซึ่งจะเริ่มกิจกรรม | ผู้เผยแพร่โฆษณาจัดการการจัดการมุมมองและการเพิ่มจำนวนโดยใช้คอมโพเนนต์ที่ SDK สื่อกลางแสดง |
ขั้นตอนสื่อกลางในรันไทม์ของ SDK
วิธีการทำงานของสื่อกลางภายในรันไทม์ของ SDK จะแตกต่างกันไปโดยขึ้นอยู่กับว่า สื่อกลางเปิดใช้รันไทม์หรือไม่ จากข้อมูลนี้ เราจึงอาจมีสถานการณ์ต่อไปนี้
- ทั้งผู้ไกล่เกลี่ยและผู้รับการไกล่เกลี่ยอยู่ในรันไทม์ของ SDK: RE mediatee
- ตัวกลางอยู่ในรันไทม์ของ SDK และสื่อกลางอยู่ในแอป: สื่อกลางในแอป
RE Mediatee
แผนภาพสถาปัตยกรรมต่อไปนี้แสดงภาพรวมระดับสูงของ การโต้ตอบของ SDK ที่เปิดใช้รันไทม์ (RE) และ SDK ที่รับรู้รันไทม์ (RA) ของสื่อกลาง อแดปเตอร์สื่อกลาง RE และ SDK ของ RE ของสื่อกลาง
ตัวกลางการไกล่เกลี่ยต้องอยู่ในกระบวนการเดียวกันกับตัวกลางที่เชื่อมต่อด้วย ดังนั้นจึงต้องย้ายข้อมูลไปยัง SDK Runtime ด้วย
การเริ่มต้น
เมื่อพิจารณาถึงการเริ่มต้น การค้นหา และการสื่อสารของทั้งตัวกลางที่เปิดใช้รันไทม์และตัวกลางที่ใช้ร่วมกัน โฟลว์จะเป็นไปตามขั้นตอนต่อไปนี้
- แอป (หรือ RA SDK) จะโหลดและเริ่มต้น SDK สื่อกลางโดยใช้
SdkSandboxManager#loadSdk - ในระหว่างการเริ่มต้นใช้งาน SDK ตัวกลางจะโหลดและเริ่มต้นตัวกลางที่จำเป็นในรันไทม์ของ SDK โดยใช้
SdkSandboxController#loadSdk - RE SDK สามารถค้นหา SDK ทั้งหมดที่โหลดในรันไทม์ได้โดยการเรียกใช้
SdkSandboxController#getSandboxedSdks
การนำเสนอ UI ของโฆษณา
ส่วนต่อไปนี้จะครอบคลุมการโหลดแบนเนอร์และโฆษณาแบบเต็มหน้าจอจาก RE mediatee
โฆษณาแบนเนอร์ RE Mediatee
เมื่อแอปขอให้โหลดโฆษณาแบนเนอร์ ขั้นตอนการแสดงผลให้เสร็จสมบูรณ์ มีดังนี้
- ตัวกลางจะเลือกผู้ไกล่เกลี่ยที่ชนะสำหรับโฆษณานี้
- ผู้ไกล่เกลี่ยจะได้รับ
SandboxedUiAdapterจากผู้รับการไกล่เกลี่ย - ตัวกลางจะส่งต่อ UiAdapter ไปยังแอป
ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้งาน SandboxedUiAdapter และไลบรารี UI ของรันไทม์ SDK
การวางซ้อนโฆษณาแบนเนอร์
หากผู้ไกล่เกลี่ยต้องการเพิ่มภาพซ้อนทับในโฆษณา จะต้องแก้ไขโฟลว์ดังนี้
- สื่อกลางสร้างเลย์เอาต์ที่มีการซ้อนทับและ
SandboxedSdkView - ตัวกลางจะเลือกผู้ไกล่เกลี่ยที่ชนะสำหรับโฆษณานี้
- ผู้ไกล่เกลี่ยจะได้รับ
SandboxedUiAdapterจากผู้รับการไกล่เกลี่ย - ผู้ไกล่เกลี่ยจะตั้งค่า
UiAdapterของผู้รับการไกล่เกลี่ยเป็นSandboxedSdkView - สื่อกลางจะแชร์มุมมองที่สร้างขึ้นกับแอป
RE Mediatee full-screen ads
เมื่อได้รับคำขอจากแอปให้โหลดโฆษณาคั่นระหว่างหน้า ขั้นตอนการทำงานจะเป็นดังนี้
- แอป (หรือ RA SDK) จะส่ง
SdkActivityLauncherไปยังสื่อกลางพร้อมคำขอให้โหลดโฆษณา- ไคลเอ็นต์สามารถจำกัดการสร้างกิจกรรมได้ โดยใช้เพรดิเคต
- ตัวกลางจะเลือกผู้ไกล่เกลี่ยที่ชนะสำหรับโฆษณานี้
- สื่อกลางขอให้สื่อกลางโหลดโฆษณาโดยส่ง
SdkActivityLauncherจากแอป - ผู้รับการวัด ลงทะเบียนตัวแฮนเดิลกิจกรรม และรับโทเค็นตัวระบุสําหรับกิจกรรมที่ลงทะเบียน
- ผู้รับสื่อใช้
SdkActivityLauncherเพื่อขอเริ่มกิจกรรมโดยใช้โทเค็นนี้ - หากเพรดิเคตของแอปไคลเอ็นต์อนุญาต รันไทม์ของ SDK จะเริ่มกิจกรรมนี้ในกระบวนการเฉพาะ
ดูข้อมูลเพิ่มเติมเกี่ยวกับการรองรับกิจกรรมสำหรับโฆษณาแบบเต็มหน้าจอใน SDK Runtime
Mediatee ในแอป
แผนภาพสถาปัตยกรรมต่อไปนี้แสดงภาพรวมระดับสูงของการโต้ตอบระหว่าง SDK ของ RE และ RA ของสื่อกลาง, อะแดปเตอร์สื่อกลางที่ไม่รู้จักรันไทม์ของ SDK และ SDK ของสื่อกลางที่ลิงก์แบบคงที่กับแอป (ซึ่งไม่รู้จักรันไทม์ด้วย)
การเริ่มต้น
เนื่องจากในสถานการณ์นี้ ผู้รับสื่อกลางจะลิงก์แบบคงที่กับแอปและยังไม่ได้ ย้ายข้อมูลไปยังรันไทม์ของ SDK ดังนั้น SDK ที่เปิดใช้รันไทม์ของสื่อกลางควรมีกระบวนการลงทะเบียน
การลงทะเบียนนี้ควรเข้าถึงได้โดยใช้ API ของสื่อกลาง แต่รายละเอียดการติดตั้งใช้งานจะขึ้นอยู่กับดุลยพินิจของสื่อกลางแต่ละราย เราเรียก API นี้ว่า
MediationSandboxedSdk#registerInAppMediatee
เมื่อพิจารณาการเริ่มต้น การค้นหา และการสื่อสารของ SDK ตัวกลาง RE และ SDK ตัวกลางในแอป โฟลว์จะเป็นไปตามขั้นตอนต่อไปนี้
- แอปจะโหลดและเริ่มต้น SDK ที่รับรู้รันไทม์ของสื่อกลาง
- RA SDK ของสื่อกลาง
- เริ่มต้น RE SDK ของสื่อกลางโดยใช้
SdkSandboxManager#loadSdk - เริ่มต้น SDK สื่อกลางในแอปทั้งหมด
- ค้นหาและลงทะเบียน SDK สื่อกลางในแอปโดยใช้ API ที่ RE SDK
MediationSandboxedSdk#registerInAppMediateจัดเตรียมไว้ให้
- เริ่มต้น RE SDK ของสื่อกลางโดยใช้
นอกเหนือจากการลงทะเบียน SDK สื่อกลางในแอปทั้งหมดแล้ว SDK ของ RE ของสื่อกลาง
ยังค้นพบ SDK ทั้งหมดที่โหลดในรันไทม์ของ SDK ได้โดยใช้
SdkSandboxController#getSandboxedSdks
การนำเสนอ UI ของโฆษณา
ส่วนต่อไปนี้จะครอบคลุมการโหลดแบนเนอร์และโฆษณาแบบเต็มหน้าจอจากสื่อกลางในแอป
โฆษณาแบนเนอร์สื่อกลางในแอป
เมื่อแอปขอให้โหลดโฆษณาแบนเนอร์ ขั้นตอนการแสดงผลให้เสร็จสมบูรณ์ มีดังนี้
- SDK ที่รับรู้รันไทม์ของผู้ไกล่เกลี่ยจะส่งต่อคำขอของแอปไปยัง SDK ที่เปิดใช้รันไทม์
- SDK ของ RE ของสื่อกลางจะเลือกสื่อกลางที่เกี่ยวข้อง
- RE SDK ของสื่อกลางจะดึงข้อมูลอ้างอิงไปยังสื่อกลาง และส่งคำขอ เพื่อโหลดโฆษณาผ่าน RA SDK
- RA SDK จะรับ View จากผู้รับสื่อกลางในแอป
- RA SDK สร้าง
SandboxedUiAdapterสำหรับมุมมองที่ได้รับ - RA SDK จะส่งต่อ
UiAdapterไปยัง RE SDK - RE SDK จะส่งต่อ
UiAdapterไปยังแอป
โฆษณาแบบเต็มหน้าจอที่แสดงในแอป
เมื่อได้รับคำขอจากแอปให้โหลดโฆษณาคั่นระหว่างหน้า ขั้นตอนการทำงานจะเป็นดังนี้
- แอปจะส่ง
SdkActivityLauncherไปยัง SDK ของ RA ของสื่อกลางพร้อมคำขอให้โหลดโฆษณา- ไคลเอ็นต์สามารถจำกัดการสร้างกิจกรรมได้ โดยใช้เพรดิเคต
- RA SDK ของสื่อกลางจะส่งต่อคำขอของแอปไปยัง RE SDK
- SDK ของ RE ของสื่อกลาง
- เลือกสื่อที่เกี่ยวข้อง
- ดึงข้อมูลการอ้างอิงถึงผู้รับการวัดผลในแอป
- คำขอโหลดโฆษณาผ่าน RA SDK
- RA SDK ขอให้สื่อกลางโหลดโฆษณา
- ผู้รับการไกล่เกลี่ยเริ่มกิจกรรมโดยตรง ระบบจะไม่สนใจตัวบ่งชี้ของแอป
มีส่วนร่วมและแชร์ความคิดเห็น
Privacy Sandbox บน Android เป็นโปรเจ็กต์ที่กำลังดำเนินการอยู่ และเอกสารนี้แสดงถึง การออกแบบในปัจจุบัน ความคิดเห็นของคุณมีความสำคัญอย่างยิ่งต่อการพัฒนาและ ปรับปรุงฟีเจอร์ของแอป ยื่นรายงานข้อบกพร่องเพื่อ แสดงความคิดเห็น