อัปเดตล่าสุด
- เพิ่มข้อมูลเกี่ยวกับการตั้งเวลาการอัปเดตกลุ่มเป้าหมายที่กำหนดเอง
- เพิ่มการผสานรวมการรายงานการระบุแหล่งที่มากับ Protected Audience
- เผยแพร่ไทม์ไลน์ของฟีเจอร์ Protected Audience
- FLEDGE ได้เปลี่ยนชื่อเป็น Protected Audience API
- เพิ่มข้อเสนอสําหรับการมอบสิทธิ์กลุ่มเป้าหมายที่กําหนดเอง
- นำข้อกำหนดเกี่ยวกับ k-anonymity ของ daily update URL ออก
Protected Audience อยู่ในรุ่นเบต้าและพร้อมให้ทดสอบในอุปกรณ์สาธารณะ
กลุ่มเป้าหมายที่มีการป้องกันช่วยให้คุณทําสิ่งต่อไปนี้ได้
- จัดการกลุ่มเป้าหมายที่กําหนดเองตามการกระทําก่อนหน้าของผู้ใช้
- เริ่มการประมูลในอุปกรณ์ด้วยการสนับสนุนผู้ขายรายเดียวหรือสื่อกลาง Waterfall
- ฝึกการรายงานการแสดงผลหลังจากเลือกโฆษณา
โปรดอ่านคู่มือนักพัฒนาซอฟต์แวร์สำหรับกลุ่มเป้าหมายที่ได้รับการคุ้มครองเพื่อเริ่มต้นใช้งาน ขอขอบคุณสำหรับความคิดเห็นของคุณขณะที่เราพัฒนากลุ่มเป้าหมายที่ได้รับการคุ้มครองต่อไป
ไทม์ไลน์
เราจะเปิดตัวฟีเจอร์ใหม่ๆ ในอีกไม่กี่เดือนข้างหน้า วันที่เปิดตัวที่แน่นอนจะแตกต่างกันไปตามฟีเจอร์ และตารางนี้จะอัปเดตลิงก์ไปยังเอกสารประกอบเมื่อพร้อมใช้งาน
ฟีเจอร์ | พร้อมใช้งานในเวอร์ชันตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์ | พร้อมใช้งานในรุ่นเบต้า |
---|---|---|
การรายงานระดับเหตุการณ์ | ไตรมาส 1 ปี 2023 | ไตรมาส 3 ปี 2023 |
การแสดงโฆษณาสื่อกลางตามลำดับขั้น | ไตรมาส 1 ปี 2023 | ไตรมาส 4 ปี 2023 |
การกรองโฆษณาเพื่อการติดตั้งแอป | ไตรมาส 2 ปี 2023 | ไตรมาส 3 ปี 2023 |
การกรองความถี่สูงสุด | ไตรมาส 2 ปี 2023 | ไตรมาส 3 ปี 2023 |
ส่งโฆษณาตามบริบทไปยังเวิร์กโฟลว์การเลือกโฆษณาเพื่อกรอง | ไตรมาส 2 ปี 2023 | ไตรมาส 3 ปี 2023 |
การรายงานการโต้ตอบ | ไตรมาส 2 ปี 2023 | ไตรมาส 3 ปี 2023 |
เข้าร่วมการมอบสิทธิ์กลุ่มเป้าหมายที่กำหนดเอง | ไตรมาส 3 ปี 2023 | ไตรมาส 4 ปี 2023 |
การเรียกเก็บเงินที่ไม่ใช่ CPM | ไตรมาส 3 ปี 2023 | ไตรมาส 4 ปี 2023 |
การผสานรวมบริการเสนอราคาและประมูล | ไตรมาส 3 ปี 2023 | ไตรมาส 4 ปี 2023 |
การรายงานข้อบกพร่อง | ไตรมาส 3 ปี 2023 | ไตรมาส 4 ปี 2023 |
การผสานรวมการรายงานการระบุแหล่งที่มา | ไม่มี | ไตรมาส 4 ปี 2023 |
สื่อกลางการเสนอราคาแบบเปิด | ไตรมาส 4 ปี 2023 | ไตรมาส 4 ปี 2023 |
การจัดการสกุลเงิน | ไตรมาส 1 ปี 2024 | ไตรมาส 2 ปี 2024 |
การผสานรวม K-anon | ไม่มี | ไตรมาส 2 ปี 2024 |
การผสานรวมการรายงานแบบรวม | ไตรมาส 3 ปี 2024 | ไตรมาส 4 ปี 2024 |
ภาพรวม
ในการโฆษณาบนอุปกรณ์เคลื่อนที่ ผู้ลงโฆษณามักต้องแสดงโฆษณาต่อผู้ใช้ที่อาจสนใจ โดยอิงตามวิธีที่ผู้ใช้มีส่วนร่วมกับแอปของผู้ลงโฆษณาก่อนหน้านี้ เช่น นักพัฒนาแอป SportingGoodsApp อาจต้องการโฆษณาต่อผู้ใช้ที่มีสินค้าเหลืออยู่ในรถเข็นช็อปปิ้ง โดยแสดงโฆษณาเพื่อเตือนให้ผู้ใช้ทำการซื้อให้เสร็จสมบูรณ์ โดยทั่วไป อุตสาหกรรมจะอธิบายแนวคิดทั่วไปนี้ด้วยคําอย่างเช่น "รีมาร์เก็ตติ้ง" และ "การกำหนดกลุ่มเป้าหมายที่กำหนดเอง"
ปัจจุบัน กรณีการใช้งานเหล่านี้มักใช้โดยการแชร์ข้อมูลตามบริบทเกี่ยวกับวิธีแสดงโฆษณา (เช่น ชื่อแอป) และข้อมูลส่วนตัว เช่น รายการกลุ่มเป้าหมาย กับแพลตฟอร์มเทคโนโลยีโฆษณา ผู้ลงโฆษณาสามารถใช้ข้อมูลนี้เพื่อเลือกโฆษณาที่เกี่ยวข้องในเซิร์ฟเวอร์ได้
Protected Audience API ใน Android (เดิมเรียกว่า FLEDGE) ประกอบด้วย API ต่อไปนี้สําหรับแพลตฟอร์มเทคโนโลยีโฆษณาและผู้ลงโฆษณาเพื่อรองรับ Use Case ทั่วไปที่อิงตามการโต้ตอบในลักษณะที่จํากัดการแชร์ทั้งตัวระบุในแอปต่างๆ และข้อมูลการโต้ตอบของแอปกับบุคคลที่สาม
- Custom Audience API: เน้นที่การแยกความคิด "กลุ่มเป้าหมายที่กําหนดเอง" ซึ่งแสดงถึงกลุ่มเป้าหมายที่ผู้ลงโฆษณากําหนดโดยมีเจตนาร่วมกัน ระบบจะจัดเก็บข้อมูลกลุ่มเป้าหมายไว้ในอุปกรณ์และสามารถเชื่อมโยงกับโฆษณาที่อาจแสดงสําหรับกลุ่มเป้าหมายและข้อมูลเมตาที่กําหนดเอง เช่น สัญญาณการเสนอราคา ข้อมูลนี้สามารถใช้เพื่อแจ้งการเสนอราคาของผู้ลงโฆษณา การกรองโฆษณา และการแสดงผล
- Ad Selection API: เฟรมเวิร์กนี้ช่วยประสานเวิร์กโฟลว์ของแพลตฟอร์มเทคโนโลยีโฆษณาที่ใช้สัญญาณในอุปกรณ์เพื่อระบุโฆษณา "ที่มีประสิทธิภาพสูงสุด" โดยพิจารณาจากโฆษณาที่เป็นไปได้ซึ่งจัดเก็บไว้ในเครื่อง และดำเนินการประมวลผลเพิ่มเติมกับโฆษณาที่เป็นไปได้ซึ่งแพลตฟอร์มเทคโนโลยีโฆษณาแสดงผลไปยังอุปกรณ์
ในระดับสูง การผสานรวมจะทํางานดังนี้
SportingGoodsApp ต้องการช่วยเตือนผู้ใช้ให้ซื้อสินค้าคงคลังในรถเข็นหากยังไม่ได้ซื้อภายใน 2 วัน SportingGoodsApp ใช้ Custom Audience API เพื่อเพิ่มผู้ใช้ไปยังรายการกลุ่มเป้าหมาย "ผลิตภัณฑ์ในรถเข็น" แพลตฟอร์มจะจัดการและจัดเก็บรายการกลุ่มเป้าหมายนี้ไว้ในอุปกรณ์ ซึ่งจะจํากัดการแชร์กับบุคคลที่สาม SportingGoodsApp เป็นพาร์ทเนอร์กับแพลตฟอร์มเทคโนโลยีโฆษณาเพื่อแสดงโฆษณาต่อผู้ใช้ในรายชื่อกลุ่มเป้าหมาย แพลตฟอร์มเทคโนโลยีโฆษณาจะจัดการข้อมูลเมตาสำหรับรายการกลุ่มเป้าหมายและแสดงโฆษณาที่เป็นไปได้ ซึ่งจะพร้อมใช้งานในเวิร์กโฟลว์การเลือกโฆษณาเพื่อพิจารณา แพลตฟอร์มสามารถกําหนดค่าให้ดึงข้อมูลโฆษณาตามกลุ่มเป้าหมายที่อัปเดตเป็นประจําในเบื้องหลัง วิธีนี้ช่วยให้รายการโฆษณาที่อาจแสดงตามกลุ่มเป้าหมายเป็นข้อมูลล่าสุดอยู่เสมอและไม่เกี่ยวข้องกับคําขอที่ส่งไปยังเซิร์ฟเวอร์โฆษณาบุคคลที่สามในระหว่างโอกาสในการโฆษณา (เช่น คําขอโฆษณาตามบริบท)
เมื่อผู้ใช้เล่นเกม FrisbeeGame บนอุปกรณ์เครื่องเดียวกัน ผู้ใช้อาจเห็นโฆษณาที่เตือนให้ซื้อสินค้าที่ยังอยู่ในรถเข็นช็อปปิ้งของ SportingGoodsApp ให้เสร็จสมบูรณ์ FrisbeeGame (ซึ่งมี SDK โฆษณาแบบรวม) สามารถเรียกใช้ Ad Selection API เพื่อเลือกโฆษณาที่มีประสิทธิภาพสูงสุดสําหรับผู้ใช้โดยอิงตามรายการกลุ่มเป้าหมายที่ผู้ใช้อาจเป็นส่วนหนึ่งของรายการนั้น (ในตัวอย่างนี้คือกลุ่มเป้าหมายที่กําหนดเอง "ผลิตภัณฑ์ในรถเข็น" ที่ SportingGoodsApp สร้างขึ้น) คุณตั้งค่าเวิร์กโฟลว์การเลือกโฆษณาให้พิจารณาโฆษณาที่ดึงมาจากเซิร์ฟเวอร์ของแพลตฟอร์มเทคโนโลยีโฆษณาได้ นอกเหนือจากโฆษณาในอุปกรณ์ที่เชื่อมโยงกับกลุ่มเป้าหมายที่กําหนดเอง รวมถึงสัญญาณอื่นๆ ในอุปกรณ์ นอกจากนี้ เวิร์กโฟลว์ยังปรับแต่งโดยแพลตฟอร์มเทคโนโลยีโฆษณาและ SDK โฆษณาได้ด้วยโดยใช้การเสนอราคาและตรรกะการให้คะแนนที่กําหนดเองเพื่อให้บรรลุเป้าหมายการโฆษณาที่เหมาะสม แนวทางนี้ช่วยให้ใช้ข้อมูลความสนใจหรือข้อมูลการโต้ตอบกับแอปของผู้ใช้เพื่อเลือกโฆษณาได้ พร้อมกับจํากัดการแชร์ข้อมูลนี้กับบุคคลที่สาม
SDK ของแอปที่แสดงโฆษณาหรือแพลตฟอร์มเทคโนโลยีโฆษณาจะแสดงผลโฆษณาที่เลือก
แพลตฟอร์มนี้ช่วยให้การรายงานการแสดงผลและผลลัพธ์การเลือกโฆษณาเป็นไปอย่างสะดวก ความสามารถในการรายงานนี้ช่วยเสริมAttribution Reporting API แพลตฟอร์มเทคโนโลยีโฆษณาอาจปรับแต่งตามความต้องการในการรายงาน
รับสิทธิ์เข้าถึง Protected Audience ใน Android API
แพลตฟอร์มเทคโนโลยีโฆษณาต้องลงทะเบียนเพื่อเข้าถึง Protected Audience API ดูข้อมูลเพิ่มเติมที่หัวข้อลงทะเบียนบัญชี Privacy Sandbox
การจัดการกลุ่มเป้าหมายที่กําหนดเอง
กลุ่มเป้าหมายที่กำหนดเอง
กลุ่มเป้าหมายที่กําหนดเองแสดงถึงกลุ่มผู้ใช้ที่ผู้ลงโฆษณากําหนดขึ้นซึ่งมีเจตนาหรือความสนใจร่วมกัน แอปหรือ SDK อาจใช้กลุ่มเป้าหมายที่กําหนดเองเพื่อระบุกลุ่มเป้าหมายที่เฉพาะเจาะจง เช่น ผู้ที่ "มีสินค้าในรถเข็นช็อปปิ้ง" หรือ "ผ่านด่านระดับเริ่มต้น" ของเกม แพลตฟอร์มจะดูแลรักษาและจัดเก็บข้อมูลกลุ่มเป้าหมายไว้ในอุปกรณ์ของผู้ใช้ และไม่เปิดเผยว่าผู้ใช้อยู่ในกลุ่มเป้าหมายที่กำหนดเองใด กลุ่มเป้าหมายที่กําหนดเองแตกต่างจากกลุ่มความสนใจของกลุ่มเป้าหมายที่ได้รับการคุ้มครองของ Chrome และไม่สามารถแชร์ในเว็บและแอป ซึ่งช่วยจํากัดการแชร์ข้อมูลผู้ใช้
แอปของผู้ลงโฆษณาหรือ SDK ที่ผสานรวมอาจเข้าร่วมหรือออกจากกลุ่มเป้าหมายที่กําหนดเองโดยอิงตามการมีส่วนร่วมของผู้ใช้ในแอป เป็นต้น
ข้อมูลเมตากลุ่มเป้าหมายที่กําหนดเอง
กลุ่มเป้าหมายที่กําหนดเองแต่ละกลุ่มจะมีข้อมูลเมตาต่อไปนี้
- เจ้าของ: ชื่อแพ็กเกจของแอปเจ้าของ ระบบจะตั้งค่านี้เป็นชื่อแพ็กเกจของแอปที่เรียกใช้โดยปริยาย
- ผู้ซื้อ: เครือข่ายโฆษณาของผู้ซื้อซึ่งจัดการโฆษณาสําหรับกลุ่มเป้าหมายที่กําหนดเองนี้ ผู้ซื้อยังแสดงถึงบุคคลที่อาจเข้าถึงกลุ่มเป้าหมายที่กำหนดเองและดึงข้อมูลโฆษณาที่เกี่ยวข้อง ผู้ซื้อจะระบุตามรูปแบบ eTLD+1
- ชื่อ: ชื่อหรือตัวระบุที่กำหนดเองสำหรับกลุ่มเป้าหมายที่กำหนดเอง เช่น ผู้ใช้ที่มี "ผู้ละทิ้งรถเข็นช็อปปิ้ง" แอตทริบิวต์นี้อาจใช้เป็นเกณฑ์การกําหนดเป้าหมายข้อใดข้อหนึ่งในแคมเปญโฆษณาของผู้ลงโฆษณา หรือสตริงการค้นหาใน URL สําหรับการดึงข้อมูลโค้ดการเสนอราคา
- เวลาเปิดใช้งานและเวลาหมดอายุ: ช่องเหล่านี้กําหนดกรอบเวลาของกลุ่มเป้าหมายที่กําหนดเองนี้ แพลตฟอร์มจะใช้ข้อมูลนี้เพื่อถอนการเป็นสมาชิกออกจากกลุ่มเป้าหมายที่กำหนดเอง เวลาหมดอายุต้องไม่เกินกรอบเวลาสูงสุดเพื่อจํากัดอายุของกลุ่มเป้าหมายที่กําหนดเอง
- URL การอัปเดตรายวัน: URL ที่แพลตฟอร์มใช้ดึงข้อมูลโฆษณาที่เป็นผู้สมัครและข้อมูลเมตาอื่นๆ ที่กําหนดไว้ในช่อง "สัญญาณการเสนอราคาของผู้ใช้" และ "สัญญาณการเสนอราคาที่เชื่อถือได้" เป็นประจํา ดูรายละเอียดเพิ่มเติมได้ที่ส่วนวิธีดึงข้อมูลโฆษณาที่มีโอกาสแสดงสําหรับกลุ่มเป้าหมายที่กําหนดเอง
- สัญญาณการเสนอราคาของผู้ใช้: สัญญาณเฉพาะแพลตฟอร์มเทคโนโลยีโฆษณาสําหรับการเสนอราคาโฆษณารีมาร์เก็ตติ้ง ตัวอย่างสัญญาณ ได้แก่ ตำแหน่งโดยคร่าวๆ ของผู้ใช้ ภาษาที่ต้องการ และอื่นๆ
- ข้อมูลการเสนอราคาที่เชื่อถือได้: แพลตฟอร์มเทคโนโลยีโฆษณาใช้ข้อมูลแบบเรียลไทม์เพื่อดึงข้อมูลโฆษณาและประเมิน เช่น โฆษณาอาจใช้งบประมาณหมดแล้วและต้องหยุดแสดงทันที เทคโนโลยีโฆษณาสามารถกําหนดปลายทาง URL ที่จะดึงข้อมูลแบบเรียลไทม์นี้มา และชุดคีย์ที่ต้องมีการค้นหาแบบเรียลไทม์ เซิร์ฟเวอร์ที่จัดการคําขอนี้จะต้องเป็นเซิร์ฟเวอร์ที่เชื่อถือได้ซึ่งจัดการโดยแพลตฟอร์มเทคโนโลยีโฆษณา
- URL ของตรรกะการเสนอราคา: URL ที่แพลตฟอร์มใช้ดึงข้อมูลโค้ดการเสนอราคาจากแพลตฟอร์มฝั่งดีมานด์ แพลตฟอร์มจะดําเนินการขั้นตอนนี้เมื่อเริ่มการประมูลโฆษณา
- โฆษณา: รายการโฆษณาที่เป็นไปได้สําหรับกลุ่มเป้าหมายที่กําหนดเอง ซึ่งรวมถึงข้อมูลเมตาของโฆษณาเฉพาะแพลตฟอร์มเทคโนโลยีโฆษณาและ URL เพื่อแสดงโฆษณา เมื่อเริ่มการประมูลสําหรับกลุ่มเป้าหมายที่กําหนดเอง ระบบจะพิจารณารายการข้อมูลเมตาของโฆษณานี้ ระบบจะรีเฟรชรายการโฆษณานี้โดยใช้ปลายทาง URL การอัปเดตรายวันเมื่อเป็นไปได้ เนื่องจากข้อจํากัดด้านทรัพยากรในอุปกรณ์เคลื่อนที่ ระบบจึงจํากัดจํานวนโฆษณาที่เก็บไว้ในกลุ่มเป้าหมายที่กําหนดเอง
การให้สิทธิ์กลุ่มเป้าหมายที่กำหนดเอง
การกำหนดค่าและการกำหนดกลุ่มเป้าหมายที่กำหนดเองแบบดั้งเดิมมักอาศัยเทคโนโลยีฝั่งเซิร์ฟเวอร์และการผสานรวมที่ขับเคลื่อนโดยเทคโนโลยีโฆษณาร่วมกับพาร์ทเนอร์และลูกค้าที่เป็นเอเจนซีและผู้ลงโฆษณา Protected Audience API ช่วยให้กําหนดค่าและกำหนดกลุ่มเป้าหมายเองได้ขณะที่ปกป้องความเป็นส่วนตัวของผู้ใช้ หากต้องการเข้าร่วมกลุ่มเป้าหมายที่กําหนดเอง เทคโนโลยีโฆษณาของผู้ซื้อที่ไม่มี SDK ในแอปจะต้องทํางานร่วมกับเทคโนโลยีโฆษณาที่มีอยู่ในอุปกรณ์ เช่น พาร์ทเนอร์การวัดผลบนอุปกรณ์เคลื่อนที่ (MMP) และแพลตฟอร์มฝั่งขาย (SSP) Protected Audience API มีจุดประสงค์เพื่อรองรับ SDK เหล่านี้ด้วยการจัดหาโซลูชันที่ยืดหยุ่นสําหรับการจัดการกลุ่มเป้าหมายที่กําหนดเอง โดยช่วยให้ผู้เรียกใช้ในอุปกรณ์เรียกใช้การสร้างกลุ่มเป้าหมายที่กําหนดเองในนามของผู้ซื้อได้ กระบวนการนี้เรียกว่าการมอบสิทธิ์กลุ่มเป้าหมายที่กําหนดเอง กําหนดค่าการมอบสิทธิ์กลุ่มเป้าหมายที่กําหนดเองโดยทําตามขั้นตอนต่อไปนี้
เข้าร่วมกลุ่มเป้าหมายที่กำหนดเอง
การเข้าร่วมกลุ่มเป้าหมายที่กำหนดเองทำได้ 2 วิธี ดังนี้
joinCustomAudience()
แอปหรือ SDK สามารถขอเข้าร่วมกลุ่มเป้าหมายที่กําหนดเองได้โดยเรียกใช้ joinCustomAudience()
หลังจากสร้างอินสแตนซ์ออบเจ็กต์ CustomAudience
ด้วยพารามิเตอร์ที่คาดไว้ ตัวอย่างข้อมูลโค้ดที่แสดงภาพมีดังนี้
CustomAudience audience = new CustomAudience(
Buyer = "example-dsp.com",
Name = "running-shoes",
ActivationTime = now(),
ExpirationTime = ActivationTime.plus(30 days),
DailyUpdateURL = Uri.parse("https://..."),
UserBiddingSignals = new JSONObject("{...}"),
TrustedBiddingURL = Uri.parse("https://..."),
TrustedBiddingKeys = {'key1","key2", ...,"key n"},
BiddingLogicURL = Uri.parse("https://..."),
Ads = [new AdData(renderUrl = Uri.parse("https://..."),
metadata = new JSONObject("{...}"), ...];
// Invoke ad services API to join a custom audience.
joinCustomAudience(audience);
fetchAndJoinCustomAudience()
แอปหรือ SDK สามารถขอเข้าร่วมกลุ่มเป้าหมายที่กําหนดเองในนามของเทคโนโลยีโฆษณาที่ไม่มีการแสดงในอุปกรณ์ได้โดยเรียกใช้ fetchAndJoinCustomAudience()
พร้อมพารามิเตอร์ที่คาดไว้ ดังตัวอย่างต่อไปนี้
FetchAndJoinCustomAudienceRequest fetchRequest = new FetchAndJoinCustomAudienceRequest(
// Example: Optional verification token passed inside the fetch URL
FetchURI = Uri.parse("https://example-dsp.com/...?mytoken=arbitrary1234"),
// All the following parameters are optional
Name = "running-shoes",
ActivationTime = now(),
ExpirationTime = ActivationTime.plus(30 days),
UserBiddingSignals = new JSONObject("{...}")
);
fetchAndJoinCustomAudience(fetchRequest);
ปลายทาง URL ที่ผู้ซื้อเป็นเจ้าของจะตอบกลับด้วยออบเจ็กต์ CustomAudience
JSON
ในเนื้อหาการตอบกลับ ระบบจะไม่สนใจช่องผู้ซื้อและเจ้าของของกลุ่มเป้าหมายที่กำหนดเอง (และ API จะป้อนข้อมูลให้โดยอัตโนมัติ) นอกจากนี้ API ยังบังคับให้ URL การอัปเดตรายวันตรงกับ eTLD+1 ของผู้ซื้อด้วย
{
"name": "running-shoes",
"activation_time": 1680603133000,
"expiration_time": 1680803133000,
"user_bidding_signals" : {"signal1": "value"},
"trusted_bidding_data": {
"trusted_bidding_uri": "https://example-dsp.com/.."
"trusted_bidding_keys": ["k1", "k2"],
},
"bidding_logic_uri": "https://example-dsp.com/...",
"daily_update_uri": "https://example-dsp.com/...",
"ads": [
{
"render_uri": "https://example-dsp.com/...",
"metadata": {},
"ad_filters": {
"frequency_cap": {
"win": [
{
"ad_counter_key": 1,
"max_count": 2,
"interval_in_seconds": 60
},
],
"view": [
{
"ad_counter_key": 2,
"max_count": 10,
"interval_in_seconds": 3600
},
]
},
"app_install": {
"package_names": [
"package.name.one",
"package.name.two", ...
]
}
}
},
...
]
}
fetchAndJoinCustomAudience()
API จะระบุตัวตนของผู้ซื้อจาก eTLD+1 ของ fetchUri
ระบบจะใช้ข้อมูลประจำตัวของCustomAudience
ผู้ซื้อเพื่อดำเนินการตรวจสอบการลงทะเบียนและการให้สิทธิ์แอปแบบเดียวกับที่joinCustomAudience()
ทำ และคำตอบการดึงข้อมูลจะไม่สามารถแก้ไขข้อมูลประจำตัวดังกล่าวได้ เจ้าของ CustomAudience
คือชื่อแพ็กเกจของแอปพลิเคชันที่เรียกใช้ ไม่มีการตรวจสอบfetchUri
อื่นๆ นอกเหนือจากการตรวจสอบ eTLD+1 และโดยเฉพาะอย่างยิ่ง ไม่มีการตรวจสอบ k-anon fetchAndJoinCustomAudience()
API จะส่งคําขอ HTTP GET ไปยัง fetchUri
และคาดหวังว่าจะได้รับออบเจ็กต์ JSON ที่แสดงกลุ่มเป้าหมายที่กําหนดเอง ระบบจะใช้ข้อจำกัดที่ไม่บังคับและบังคับ รวมถึงค่าเริ่มต้นเดียวกันกับช่องออบเจ็กต์กลุ่มเป้าหมายที่กำหนดเองกับคำตอบ ดูข้อมูลเกี่ยวกับข้อกําหนดและข้อจํากัดปัจจุบันในคู่มือนักพัฒนาซอฟต์แวร์
การตอบกลับข้อผิดพลาด HTTP จากผู้ซื้อจะทำให้ fetchAndJoinCustomAudience
ดำเนินการไม่สำเร็จ โดยเฉพาะอย่างยิ่ง การตอบกลับสถานะ HTTP 429 (มีคำขอมากเกินไป) จะบล็อกคำขอจากแอปพลิเคชันปัจจุบันเป็นระยะเวลาที่กำหนด การเรียก API จะล้มเหลวเช่นกันหากการตอบกลับจากผู้ซื้อผิดรูปแบบ ระบบจะรายงานความล้มเหลวไปยังผู้เรียก API ที่ต้องรับผิดชอบในการลองอีกครั้งเนื่องจากความล้มเหลวชั่วคราว (เช่น เซิร์ฟเวอร์ไม่ตอบกลับ) หรือจัดการกับความล้มเหลวถาวร (เช่น ความล้มเหลวในการตรวจสอบข้อมูลหรือข้อผิดพลาดอื่นๆ ที่ไม่ชั่วคราวซึ่งเกิดขึ้นระหว่างการสื่อสารกับเซิร์ฟเวอร์)
ออบเจ็กต์ CustomAudienceFetchRequest
ช่วยให้ผู้ที่เรียก API กําหนดข้อมูลบางอย่างสําหรับกลุ่มเป้าหมายที่กำหนดเองได้โดยใช้พร็อพเพอร์ตี้ที่ไม่บังคับซึ่งแสดงในตัวอย่างด้านบน หากตั้งค่าไว้ในคําขอ ระบบจะไม่เขียนทับค่าเหล่านี้ด้วยการตอบกลับจากผู้ซื้อที่ได้รับจากแพลตฟอร์ม Protected Audience API จะละเว้นช่องในการตอบกลับ หากไม่ได้ตั้งค่าในคําขอ จะต้องตั้งค่าในคําตอบ เนื่องจากต้องใช้ช่องเหล่านี้เพื่อสร้างกลุ่มเป้าหมายที่กําหนดเอง การนำเสนอ JSON ของเนื้อหา CustomAudience
ตามที่ระบุบางส่วนโดยผู้เรียก API จะรวมอยู่ในคำขอ GET ไปยัง fetchUri
ในส่วนหัวพิเศษ X-CUSTOM-AUDIENCE-DATA
ขนาดของรูปแบบที่แปลงเป็นอนุกรมของข้อมูลที่ระบุสําหรับกลุ่มเป้าหมายที่กําหนดเองจํากัดไว้ที่ 8 KB หากไฟล์มีขนาดเกินfetchAndJoinCustomAudience
การเรียก API จะล้มเหลว
การไม่ใช้การตรวจสอบ k-anon ช่วยให้คุณใช้ fetchUri
ในการยืนยันตัวตนผู้ซื้อ และเพื่อเปิดใช้การแชร์ข้อมูลระหว่างผู้ซื้อกับ SDK ได้ ผู้ซื้อสามารถระบุโทเค็นการยืนยันเพื่อให้การยืนยันกลุ่มเป้าหมายที่กำหนดเองสะดวกขึ้น SDK ในอุปกรณ์ควรใส่โทเค็นนี้ใน fetchUri
เพื่อให้ปลายทางที่โฮสต์โดยผู้ซื้อสามารถดึงข้อมูลเนื้อหาของกลุ่มเป้าหมายที่กำหนดเอง และใช้โทเค็นการยืนยันเพื่อยืนยันว่าการดำเนินการ fetchAndJoinCustomAudience()
สอดคล้องกับผู้ซื้อและมาจากพาร์ทเนอร์ในอุปกรณ์ที่เชื่อถือได้ หากต้องการแชร์ข้อมูล ผู้ซื้อสามารถตกลงกับผู้เรียกในอุปกรณ์ว่าจะมีการเพิ่มข้อมูลบางส่วนที่จะนําไปใช้สร้างกลุ่มเป้าหมายที่กําหนดเองเป็นพารามิเตอร์การค้นหาลงใน fetchUri
ซึ่งช่วยให้ผู้ซื้อตรวจสอบการเรียกใช้และตรวจจับได้ว่าเทคโนโลยีโฆษณาที่เป็นอันตรายใช้โทเค็นการตรวจสอบเพื่อสร้างกลุ่มเป้าหมายที่กำหนดเองหลายกลุ่มหรือไม่
หมายเหตุเกี่ยวกับคําจํากัดความและพื้นที่เก็บข้อมูลโทเค็นการยืนยัน
Protected Audience API จะไม่ใช้โทเค็นการยืนยันเพื่อวัตถุประสงค์ใดๆ และคุณไม่จำเป็นต้องใช้โทเค็นดังกล่าว
- ผู้ซื้ออาจใช้โทเค็นการยืนยันเพื่อยืนยันว่าการสร้างกลุ่มเป้าหมายนั้นทําในนามของตน
- โปรโพซาลของ Protected Audience API ไม่ได้ระบุรูปแบบของโทเค็นการยืนยันหรือวิธีที่ผู้ซื้อโอนโทเค็นการยืนยันไปยังผู้เรียก เช่น โทเค็นการยืนยันอาจโหลดไว้ล่วงหน้าใน SDK หรือแบ็กเอนด์ของเจ้าของคน หรือ SDK ของเจ้าของคนอาจดึงข้อมูลโทเค็นแบบเรียลไทม์จากเซิร์ฟเวอร์ของผู้ซื้อ
ออกจากกลุ่มเป้าหมายที่กำหนดเอง
เจ้าของกลุ่มเป้าหมายที่กําหนดเองอาจเลือกออกโดยเรียกใช้
leaveCustomAudience()
ดังที่แสดงในข้อมูลโค้ดตัวอย่างด้านล่าง
// Invoke ad services API to leave a custom audience.
leaveCustomAudience(buyer, name);
กลุ่มเป้าหมายที่กําหนดเองจะหมดอายุและถูกนําออกจากพื้นที่เก็บข้อมูลในอุปกรณ์หลังจากผ่านไปตามระยะเวลาที่กําหนดไว้ล่วงหน้า เพื่อช่วยประหยัดพื้นที่เก็บข้อมูลและทรัพยากรอื่นๆ ของอุปกรณ์ ค่าเริ่มต้นจะกําหนด เจ้าของจะลบล้างค่าเริ่มต้นนี้ได้
การควบคุมของผู้ใช้
- ข้อเสนอนี้มีจุดประสงค์เพื่อให้ผู้ใช้เห็นรายการแอปที่ติดตั้งไว้ซึ่งสร้างกลุ่มเป้าหมายที่กําหนดเองอย่างน้อย 1 กลุ่ม
- ผู้ใช้สามารถนำแอปออกจากรายการนี้ได้ การนําออกจะล้างกลุ่มเป้าหมายที่กําหนดเองทั้งหมดที่เชื่อมโยงกับแอป และป้องกันไม่ให้แอปเข้าร่วมกลุ่มเป้าหมายที่กําหนดเองใหม่
- ผู้ใช้สามารถรีเซ็ต Protected Audience API ได้ทั้งหมด เมื่อเกิดกรณีนี้ขึ้น ระบบจะล้างกลุ่มเป้าหมายที่กําหนดเองที่มีอยู่ในอุปกรณ์
- ผู้ใช้สามารถเลือกไม่ใช้ Privacy Sandbox ใน Android ทั้งหมดได้ ซึ่งรวมถึง Protected Audience API หากผู้ใช้เลือกไม่ใช้ Privacy Sandbox ระบบจะไม่แสดงข้อความแจ้งว่า Protected Audience API ใช้งานไม่ได้
การออกแบบความสามารถนี้อยู่ระหว่างดำเนินการและรายละเอียดจะรวมอยู่ในการอัปเดตในภายหลัง
การอัปเดตตามกำหนดการ
โซลูชันที่อธิบายไปก่อนหน้านี้กำหนดให้แอปหรือ SDK เทคโนโลยีโฆษณาเรียกใช้ API ขณะที่แอปอยู่เบื้องหน้าและระบุพร็อพเพอร์ตี้ทั้งหมดของกลุ่มเป้าหมายที่กําหนดเองโดยตรงหรือใช้การมอบสิทธิ์ อย่างไรก็ตาม ผู้ลงโฆษณาและผู้ให้บริการเทคโนโลยีโฆษณาอาจไม่สามารถระบุกลุ่มเป้าหมายที่ผู้ใช้อยู่ได้แบบเรียลไทม์ขณะที่ผู้ใช้ใช้แอป
เทคโนโลยีโฆษณาสามารถเรียกใช้ scheduleCustomAudienceUpdate()
API เพื่อช่วยอำนวยความสะดวกในเรื่องนี้ API นี้ช่วยให้ผู้เรียกระบุเวลาหน่วงเวลาในการเรียก API ได้ จึงมีเวลาเพิ่มเติมสำหรับเทคโนโลยีโฆษณาที่ตอบกลับในการประมวลผลเหตุการณ์ระดับแอปและกำหนดกลุ่มเป้าหมายที่ได้รับการคุ้มครองที่ผู้ใช้ควรเข้าร่วมหรือถูกนำออก
/**
* API To schedule delayed update events for Custom Audience
*
* @param request Criteria that determine when and where to trigger a call to a
* DSP endpoint to update one or more Custom Audiences
*/
public void scheduleCustomAudienceUpdate(
@NonNull ScheduleCustomAudienceUpdateRequest request,
@NonNull @CallBackExecutor Executor executor,
@NonNull AdServicesOutcomeReceiver<Object, Exception> receiver)
ScheduleCustomAudienceUpdateRequest
public final class ScheduleCustomAudienceUpdateRequest {
// Required Field
@NonNull public Uri getUpdateUri() {
return mUpdateUri;
}
// Required Field
@NonNull public Duration getMinDelay() {
return mMinDelay;
}
// Required Field
@NonNull public List<PartialCustomAudience> getPartialCustomAudienceList() {
return mPartialCustomAudiences;
}
// Optional Field (default false)
public boolean shouldReplacePendingUpdates () {
return mShouldReplacePendingUpdates;
}
}
ScheduleCustomAudienceUpdateRequest
มีข้อมูลที่จำเป็นสำหรับการลงทะเบียนงานที่ทำงานล่าช้าเพื่อใช้งานกับแพลตฟอร์ม หลังจากการเลื่อนเวลาตามที่ระบุแล้ว งานเบื้องหลังจะทํางานเป็นระยะๆ และส่งคําขอ ไฟล์
ScheduleCustomAudienceUpdateRequest
อาจมีข้อมูลต่อไปนี้
- UpdateUri: ปลายทาง URI ที่จะส่งการเรียก GET เพื่อดึงข้อมูลอัปเดต
ระบบจะอนุมานข้อมูลประจำตัวของผู้ซื้อจาก eTLD+1 โดยไม่จำเป็นต้องระบุอย่างชัดเจนและไม่สามารถแก้ไขโดยการตอบกลับการอัปเดต คำขอ GET คาดว่าจะได้รับออบเจ็กต์ JSON ที่มีรายการออบเจ็กต์
customAudience
ในการตอบกลับ - DelayTime: เวลาแสดงการเลื่อนเวลาจากเวลาที่เรียกใช้
scheduleCustomAudienceUpdate()
API เพื่อตั้งเวลาอัปเดต
PartialCustomAudience: API นี้ยังอนุญาตให้ SDK บนอุปกรณ์ส่งรายการกลุ่มเป้าหมายที่กําหนดเองซึ่งสร้างขึ้นเพียงบางส่วนได้ด้วย ซึ่งช่วยให้ SDK ในแอปทําหน้าที่เป็นทั้ง 2 บทบาทได้ ตั้งแต่การควบคุมอย่างเต็มรูปแบบไปจนถึงการควบคุมบางส่วนในการจัดการกลุ่มเป้าหมายที่กําหนดเอง โดยอิงตามการเป็นพาร์ทเนอร์กับ DSP
- นอกจากนี้ ยังช่วยให้ API นี้เข้ากันได้กับ
fetchAndJoinCustomAudience()
API ซึ่งช่วยให้แชร์ข้อมูลในลักษณะเดียวกันได้
- นอกจากนี้ ยังช่วยให้ API นี้เข้ากันได้กับ
ShouldReplacePendingUpdates: บูลีนที่ระบุว่าควรยกเลิกการอัปเดตที่กำหนดเวลาไว้ซึ่งรอดำเนินการอยู่และแทนที่ด้วยการอัปเดตที่ระบุไว้ใน
ScheduleCustomAudienceUpdateRequest
ปัจจุบันหรือไม่ หากตั้งค่าเป็นfalse
และยังมีคำขออัปเดตที่รอดำเนินการสำหรับผู้ซื้อรายเดียวกันในแอปเดียวกันอยู่ การเรียกใช้scheduleCustomAudienceUpdate
ด้วยScheduleCustomAudienceUpdateRequest
นี้จะดำเนินการไม่สำเร็จ ค่าเริ่มต้นคือfalse
สิทธิ์และการควบคุมแอป
ข้อเสนอนี้มีจุดประสงค์เพื่อให้แอปควบคุมกลุ่มเป้าหมายที่กําหนดเองได้ ดังนี้
- แอปจัดการการเชื่อมโยงกับกลุ่มเป้าหมายที่กำหนดเองได้
- แอปสามารถให้สิทธิ์แพลตฟอร์มเทคโนโลยีโฆษณาของบุคคลที่สามเพื่อจัดการกลุ่มเป้าหมายที่กําหนดเองในนามของแอปได้
การออกแบบความสามารถนี้อยู่ระหว่างดำเนินการและรายละเอียดจะรวมอยู่ในการอัปเดตในภายหลัง
การควบคุมแพลตฟอร์มเทคโนโลยีโฆษณา
ข้อเสนอนี้ระบุวิธีต่างๆ ที่เทคโนโลยีโฆษณาใช้ควบคุมกลุ่มเป้าหมายที่กําหนดเองได้ ดังนี้
- เทคโนโลยีโฆษณาลงทะเบียนกับ Privacy Sandbox และระบุโดเมน eTLD+1 ซึ่งตรงกับ URL ทั้งหมดสําหรับกลุ่มเป้าหมายที่กําหนดเอง
- เทคโนโลยีโฆษณาสามารถเป็นพาร์ทเนอร์กับแอปหรือ SDK เพื่อมอบโทเค็นการยืนยันที่จะใช้ในการยืนยันการสร้างกลุ่มเป้าหมายที่กําหนดเอง เมื่อมอบหมายกระบวนการนี้ให้กับพาร์ทเนอร์ คุณจะกําหนดค่าการสร้างกลุ่มเป้าหมายที่กําหนดเองให้ต้องได้รับการยืนยันจากเทคโนโลยีโฆษณาได้
- เทคโนโลยีโฆษณาสามารถเลือกปิดใช้งานการเรียก
joinCustomAudience
ในนามของตน และอนุญาตให้เฉพาะfetchAndJoinCustomAudience
API เปิดใช้กลุ่มเป้าหมายที่กำหนดเองทั้งหมดของการเรียกเท่านั้น คุณอัปเดตการควบคุมได้ในระหว่างการลงทะเบียน Privacy Sandbox โปรดทราบว่าการควบคุมจะอนุญาตเทคโนโลยีโฆษณาทั้งหมดหรือไม่อนุญาตเลย เนื่องจากข้อจํากัดของแพลตฟอร์ม สิทธิ์การมอบสิทธิ์จึงไม่สามารถกำหนดตามเทคโนโลยีโฆษณา
โฆษณาและข้อมูลเมตาที่ส่งมา
โฆษณาและข้อมูลเมตาที่เป็นผู้สมัครซึ่งแสดงผลจากแพลตฟอร์มฝั่งซื้อควรมีช่องต่อไปนี้
- ข้อมูลเมตา: ข้อมูลเมตาของโฆษณาฝั่งซื้อสำหรับเทคโนโลยีโฆษณา เช่น ข้อมูลนี้อาจรวมถึงข้อมูลเกี่ยวกับแคมเปญโฆษณาและเกณฑ์การกําหนดเป้าหมาย เช่น สถานที่ตั้งและภาษา
- URL แสดงผล: ปลายทางสําหรับการแสดงผลครีเอทีฟโฆษณา
- ตัวกรอง: ข้อมูลที่ไม่บังคับที่จําเป็นสําหรับ Protected Audience API เพื่อกรองโฆษณาตามข้อมูลในอุปกรณ์ อ่านรายละเอียดเพิ่มเติมได้ที่ส่วนตรรกะการกรองฝั่งซื้อ
เวิร์กโฟลว์การเลือกโฆษณา
ข้อเสนอนี้มีจุดมุ่งหมายเพื่อปรับปรุงความเป็นส่วนตัวด้วยการนำ Ad Selection API มาใช้ ซึ่งจะจัดการการประมูลสำหรับแพลตฟอร์มเทคโนโลยีโฆษณา
ปัจจุบันแพลตฟอร์มเทคโนโลยีโฆษณามักจะทำการเสนอราคาและเลือกโฆษณาในเซิร์ฟเวอร์ของตนเองเท่านั้น ภายใต้ข้อเสนอนี้ กลุ่มเป้าหมายที่กําหนดเองและสัญญาณอื่นๆ ที่ละเอียดอ่อนของผู้ใช้ เช่น ข้อมูลแพ็กเกจที่ติดตั้งได้ จะเข้าถึงได้ผ่าน Ad Selection API เท่านั้น นอกจากนี้ สําหรับ Use Case รีมาร์เก็ตติ้ง ระบบจะดึงข้อมูลโฆษณาที่ตรงตามเกณฑ์นอกแบนด์ (ไม่ใช่ในบริบทที่โฆษณาจะแสดง) แพลตฟอร์มเทคโนโลยีโฆษณาจะต้องเตรียมพร้อมเพื่อทำให้บางส่วนของตรรกะการประมูลและการเลือกโฆษณาปัจจุบันใช้งานได้บนอุปกรณ์ แพลตฟอร์มเทคโนโลยีโฆษณาอาจพิจารณาการเปลี่ยนแปลงเวิร์กโฟลว์การเลือกโฆษณาดังต่อไปนี้
- หากไม่มีข้อมูลแพ็กเกจที่ติดตั้งในเซิร์ฟเวอร์ แพลตฟอร์มเทคโนโลยีโฆษณาอาจต้องการส่งโฆษณาตามบริบทหลายรายการกลับไปยังอุปกรณ์ และเรียกใช้เวิร์กโฟลว์การเลือกโฆษณาเพื่อเปิดใช้การกรองตามการติดตั้งแอปเพื่อเพิ่มโอกาสในการแสดงโฆษณาที่เกี่ยวข้องให้มากที่สุด
- เนื่องจากระบบจะดึงข้อมูลโฆษณารีมาร์เก็ตติ้งนอกแบนด์ คุณจึงอาจต้องอัปเดตรูปแบบการเสนอราคาปัจจุบัน แพลตฟอร์มเทคโนโลยีโฆษณาอาจต้องการสร้างโมเดลย่อยสำหรับการเสนอราคา (การใช้งานอาจอิงตามรูปแบบที่เรียกว่าโมเดล 2 หอคอย) ซึ่งสามารถทํางานกับฟีเจอร์โฆษณาและสัญญาณตามบริบทแยกกัน และรวมเอาเอาต์พุตของโมเดลย่อยในอุปกรณ์เพื่อคาดการณ์ราคาเสนอ ซึ่งจะใช้ประโยชน์ได้จากการประมูลฝั่งเซิร์ฟเวอร์และการประมูลสําหรับโอกาสโฆษณาหนึ่งๆ
แนวทางนี้ช่วยให้ข้อมูลการโต้ตอบของแอปของผู้ใช้ใช้เป็นข้อมูลในการเลือกโฆษณาได้ ขณะเดียวกันก็จํากัดการแชร์ข้อมูลนี้กับบุคคลที่สาม
เวิร์กโฟลว์การเลือกโฆษณานี้จะประสานงานการเรียกใช้โค้ด JavaScript ที่ได้จากเทคโนโลยีโฆษณาในอุปกรณ์ตามลําดับต่อไปนี้
- การดำเนินการตามตรรกะการเสนอราคาฝั่งซื้อ
- การกรองและการประมวลผลโฆษณาฝั่งผู้ซื้อ
- การดำเนินการตามตรรกะการตัดสินใจฝั่งผู้ขาย
สําหรับการเลือกโฆษณาที่เกี่ยวข้องกับกลุ่มเป้าหมายที่กําหนดเอง แพลตฟอร์มจะดึงข้อมูลโค้ด JavaScript ที่ได้จากฝั่งซื้อตามปลายทาง URL สาธารณะที่กําหนดโดยข้อมูลเมตา "URL ของตรรกะการเสนอราคา" ของกลุ่มเป้าหมายที่กําหนดเอง ระบบจะส่งปลายทาง URL สําหรับโค้ดการตัดสินใจฝั่งผู้ขายเป็นอินพุตเพื่อเริ่มเวิร์กโฟลว์การเลือกโฆษณาด้วย
การออกแบบการเลือกโฆษณาที่ไม่เกี่ยวข้องกับกลุ่มเป้าหมายที่กำหนดเองอยู่ระหว่างการพัฒนา
เริ่มเวิร์กโฟลว์การเลือกโฆษณา
เมื่อแอปต้องแสดงโฆษณา SDK ของแพลตฟอร์มเทคโนโลยีโฆษณาอาจเริ่มเวิร์กโฟลว์การเลือกโฆษณาโดยการเรียกใช้เมธอด selectAds()
หลังจากสร้างออบเจ็กต์ AdSelectionConfig
ขึ้นมาใหม่ด้วยพารามิเตอร์ที่คาดไว้ ดังนี้
- ผู้ขาย: ตัวระบุแพลตฟอร์มโฆษณาฝั่งขายตามรูปแบบ eTLD+1
- URL ตรรกะการตัดสิน: เมื่อเริ่มการประมูลโฆษณา แพลตฟอร์มจะใช้ URL นี้เพื่อดึงข้อมูลโค้ด JavaScript จากแพลตฟอร์มฝั่งขายเพื่อประเมินโฆษณาที่ชนะ
- ผู้ซื้อตามกลุ่มเป้าหมายที่กำหนดเอง: รายการแพลตฟอร์มฝั่งซื้อที่มีดีมานด์ตามกลุ่มเป้าหมายที่กำหนดเองสำหรับการประมูลนี้ โดยเป็นไปตามรูปแบบ eTLD+1
- สัญญาณการเลือกโฆษณา: ข้อมูลเกี่ยวกับการประมูล (ขนาดโฆษณา รูปแบบโฆษณา เป็นต้น)
- สัญญาณของผู้ขาย: สัญญาณเฉพาะของแพลตฟอร์มฝั่งขาย
- URL ของสัญญาณการระบุคะแนนที่เชื่อถือได้: URL ปลายทางของสัญญาณที่เชื่อถือได้ฝั่งผู้ขายซึ่งดึงข้อมูลแบบเรียลไทม์ที่เฉพาะเจาะจงของครีเอทีฟโฆษณาได้
- ตามสัญญาณของผู้ซื้อ: ฝ่ายดีมานด์ที่เข้าร่วมอาจใช้พารามิเตอร์นี้เพื่อป้อนข้อมูลสำหรับการประมูล ตัวอย่างเช่น พารามิเตอร์นี้อาจรวมข้อมูลตามบริบทที่ครอบคลุมซึ่งเป็นประโยชน์ในการกำหนดราคาเสนอ
ข้อมูลโค้ดแสดงตัวอย่างต่อไปนี้แสดง SDK ของแพลตฟอร์มเทคโนโลยีโฆษณาที่เริ่มต้นเวิร์กโฟลว์การเลือกโฆษณาโดยกำหนด AdSelectionConfig
ก่อน แล้วเรียกใช้ selectAds
เพื่อรับโฆษณาที่มีประสิทธิภาพสูงสุด
AdSelectionConfig myAdSelectionConfig = new AdSelectionConfig {
Seller = "example-ssp1.com",
DecisionLogicURL = Uri.parse("https://..."),
CustomAudienceBuyerList = Arrays.asList("example-dsp1.com","bexample-dsp2.com"),
AdSelectionSignals = "{"min_price": 10,"auction_attempts": 3}"
SellerSignals = "{"seller_type": "news", "content_category": "sports","mature_ads_accepted" :"false"}"
PerBuyerSignals = " {"buyer1Name": {"key1" : "value1"},
"buyer2Name": {"key1" : "value1", "key2" : "value2" }"
};
// Invoke ad services API to initiate ad selection workflow.
Ad winningAd = selectAds(myAdSelectionConfig);
ตรรกะการเสนอราคาฝั่งผู้ซื้อ
โดยปกติแล้ว แพลตฟอร์มฝั่งซื้อจะเป็นผู้ระบุตรรกะการเสนอราคา วัตถุประสงค์ของโค้ดนี้คือเพื่อกำหนดราคาเสนอสำหรับโฆษณาที่มีโอกาสแสดง โดยอาจใช้ตรรกะทางธุรกิจเพิ่มเติมเพื่อพิจารณาผลลัพธ์
แพลตฟอร์มจะใช้ข้อมูลเมตา "URL ของตรรกะการเสนอราคา" ของกลุ่มเป้าหมายที่กําหนดเองเพื่อดึงข้อมูลโค้ด JavaScript ซึ่งควรมีลายเซ็นฟังก์ชันด้านล่าง
generateBid(ad, auction_signals, per_buyer_signals, trusted_bidding_signals,
contextual_signals, user_signals, custom_audience_signals) {
// ...
return {'bid': ...};
}
เมธอด generateBid()
จะแสดงผลราคาเสนอที่คำนวณแล้ว แพลตฟอร์มจะเรียกใช้ฟังก์ชันนี้สําหรับโฆษณาทั้งหมด (ตามบริบทหรือรีมาร์เก็ตติ้ง) ตามลําดับ หากมีผู้ให้บริการตรรกะการเสนอราคาหลายราย ระบบจะไม่รับประกันลําดับการดําเนินการของผู้ให้บริการ
ฟังก์ชันนี้ต้องการพารามิเตอร์ต่อไปนี้
- โฆษณา: โฆษณาที่โค้ดการเสนอราคาฝั่งซื้อพิจารณา โฆษณานี้จะเป็นโฆษณาจากกลุ่มเป้าหมายที่กำหนดเองที่มีสิทธิ์
- สัญญาณการประมูล: สัญญาณฝั่งขายเฉพาะแพลตฟอร์ม
- ตามสัญญาณของผู้ซื้อ: ฝ่ายดีมานด์ที่เข้าร่วมอาจใช้พารามิเตอร์นี้เพื่อป้อนข้อมูลสำหรับการประมูล ตัวอย่างเช่น พารามิเตอร์นี้อาจรวมข้อมูลตามบริบทที่ครอบคลุมซึ่งเป็นประโยชน์ในการกำหนดราคาเสนอ
- สัญญาณการเสนอราคาที่เชื่อถือได้: แพลตฟอร์มเทคโนโลยีโฆษณาใช้ข้อมูลแบบเรียลไทม์เพื่อใช้ในการดึงข้อมูลโฆษณาและการให้คะแนน เช่น แคมเปญโฆษณาอาจใช้งบประมาณหมดและจำเป็นต้องหยุดแสดงทันที เทคโนโลยีโฆษณาจะกําหนดปลายทาง URL ที่จะดึงข้อมูลแบบเรียลไทม์นี้มาได้ และชุดคีย์ที่ต้องมีการค้นหาแบบเรียลไทม์ เซิร์ฟเวอร์ที่มีการจัดการของแพลตฟอร์มเทคโนโลยีโฆษณาที่แสดงคําขอนี้จะถือเป็นเซิร์ฟเวอร์ที่เชื่อถือได้ซึ่งจัดการโดยแพลตฟอร์มเทคโนโลยีโฆษณา
- สัญญาณตามบริบท: ซึ่งอาจรวมถึงการประทับเวลาแบบหยาบหรือข้อมูลตําแหน่งโดยประมาณ หรือต้นทุนต่อคลิกโฆษณา
- สัญญาณของผู้ใช้: ซึ่งอาจรวมถึงข้อมูล เช่น ข้อมูลแพ็กเกจที่ติดตั้งได้
ค่าใช้จ่ายโฆษณา
นอกจากราคาเสนอแล้ว แพลตฟอร์มฝั่งผู้ซื้อยังมีตัวเลือกในการแสดงผลต้นทุนต่อการคลิกเป็นส่วนหนึ่งของ generateBid()
เช่น
generateBid(ad, auction_signals, per_buyer_signals, trusted_bidding_signals,
contextual_signals, user_signals, custom_audience_signals) {
// ...
return {'bid': ..., 'adCost': ...,};
}
หากโฆษณานี้เป็นผู้ชนะ ระบบจะปัดเศษแบบสุ่ม adCost
เป็น 8 บิตเพื่อรักษาความเป็นส่วนตัว จากนั้นระบบจะส่งค่าที่ปัดเศษของ adCost
ไปยังพารามิเตอร์ contextual_signals
ใน reportWin
ในระหว่างการรายงานการแสดงผล
ตรรกะการกรองฝั่งผู้ซื้อ
แพลตฟอร์มฝั่งผู้ซื้อจะกรองโฆษณาตามสัญญาณเพิ่มเติมในอุปกรณ์ได้ในช่วงการเลือกโฆษณา ตัวอย่างเช่น แพลตฟอร์มเทคโนโลยีโฆษณาสามารถติดตั้งใช้งานความสามารถในการกําหนดความถี่สูงสุดได้ที่นี่ หากมีผู้ให้บริการกรองหลายราย ระบบจะไม่รับประกันลําดับการดําเนินการของผู้ให้บริการ
สามารถใช้ตรรกะการกรองฝั่งผู้ซื้อเป็นส่วนหนึ่งของตรรกะการเสนอราคาได้โดยแสดงผลมูลค่าการเสนอราคา 0
สําหรับโฆษณาหนึ่งๆ
นอกจากนี้ แพลตฟอร์มฝั่งซื้อจะส่งสัญญาณได้ว่าควรกรองโฆษณาหนึ่งๆ ตามสัญญาณเพิ่มเติมในอุปกรณ์ที่พร้อมใช้งานสําหรับกลุ่มเป้าหมายที่ได้รับการคุ้มครองและจะไม่ออกจากอุปกรณ์ เมื่อเราออกแบบตรรกะการกรองเพิ่มเติมให้เสร็จสมบูรณ์แล้ว แพลตฟอร์มฝั่งซื้อจะเป็นไปตามโครงสร้างเดียวกันนี้เพื่อส่งสัญญาณว่าควรมีการกรอง
ตรรกะการให้คะแนนฝั่งผู้ขาย
โดยปกติแล้ว แพลตฟอร์มฝั่งขายจะเป็นผู้ระบุตรรกะการให้คะแนน วัตถุประสงค์ของโค้ดคือกําหนดโฆษณาที่ชนะตามเอาต์พุตตรรกะการเสนอราคา ระบบอาจใช้ตรรกะทางธุรกิจเพิ่มเติมเพื่อพิจารณาผลลัพธ์ หากมีผู้ให้บริการตรรกะการตัดสินใจหลายราย ระบบจะไม่รับประกันลําดับการดําเนินการของผู้ให้บริการ แพลตฟอร์มจะใช้พารามิเตอร์อินพุต "URL ของตรรกะการตัดสินใจ" ของ selectAds()
API เพื่อดึงข้อมูลโค้ด JavaScript ซึ่งควรมีลายเซ็นฟังก์ชันด้านล่างนี้
scoreAd(ad, bid, auction_config, trusted_scoring_signals,
contextual_signals, user_signals, custom_audience_signals) {
// ...
return score_for_this_ad;
}
ฟังก์ชันนี้ต้องการพารามิเตอร์ต่อไปนี้
- โฆษณา: โฆษณาที่กําลังประเมินอยู่ เอาต์พุตจากฟังก์ชัน
generateBid()
- ราคาเสนอ: เอาต์พุตราคาเสนอจากฟังก์ชัน
generateBid()
- การกําหนดค่าการประมูล: พารามิเตอร์อินพุตสําหรับเมธอด
selectAds()
- สัญญาณการให้คะแนนที่เชื่อถือได้: แพลตฟอร์มเทคโนโลยีโฆษณาใช้ข้อมูลแบบเรียลไทม์เพื่อใช้ในการกรองและคะแนนโฆษณา ตัวอย่างเช่น ผู้เผยแพร่แอปอาจบล็อกแคมเปญโฆษณาไม่ให้แสดงโฆษณาในแอป ระบบจะดึงข้อมูลนี้มาจากพารามิเตอร์ URL ของสัญญาณการให้คะแนนที่เชื่อถือได้ของการกำหนดค่าการประมูล เซิร์ฟเวอร์ที่แสดงคำขอนี้ควรเป็นเซิร์ฟเวอร์ที่เชื่อถือได้ซึ่งจัดการโดยเทคโนโลยีโฆษณา
- สัญญาณตามบริบท: ซึ่งอาจรวมถึงการประทับเวลาแบบหยาบหรือข้อมูลตำแหน่งโดยประมาณ
- สัญญาณของผู้ใช้: ซึ่งอาจรวมถึงข้อมูล เช่น App Store ที่เริ่มการติดตั้งแอป
- สัญญาณกลุ่มเป้าหมายที่กําหนดเอง: หากโฆษณาที่กําลังให้คะแนนมาจากกลุ่มเป้าหมายที่กําหนดเองในอุปกรณ์ สัญญาณนี้จะมีข้อมูล เช่น ผู้อ่านและชื่อกลุ่มเป้าหมายที่กําหนดเอง
รันไทม์ของโค้ดการเลือกโฆษณา
ในข้อเสนอ ระบบจะดึงข้อมูลโค้ดการประมูลที่แพลตฟอร์มเทคโนโลยีโฆษณาให้มาจาก URL ปลายทางที่กำหนดค่าได้ และดำเนินการในอุปกรณ์ รหัสการประมูลควรเป็นไปตามหลักเกณฑ์ต่อไปนี้เนื่องจากข้อจํากัดด้านทรัพยากรในอุปกรณ์เคลื่อนที่
- โค้ดควรดำเนินการเสร็จสิ้นภายในระยะเวลาที่กำหนดไว้ล่วงหน้า ขอบเขตนี้จะใช้กับเครือข่ายโฆษณาของผู้ซื้อทั้งหมดอย่างเท่าเทียมกัน เราจะแชร์รายละเอียดของขอบเขตนี้ในการอัปเดตครั้งถัดไป
- โค้ดต้องมีทุกอย่างครบสมบูรณ์และไม่มีการอ้างอิงภายนอก
เนื่องจากโค้ดการประมูล เช่น ตรรกะการเสนอราคา อาจต้องเข้าถึงข้อมูลส่วนตัวของผู้ใช้ เช่น แหล่งที่มาของการติดตั้งแอป รันไทม์จึงจะไม่ให้สิทธิ์เข้าถึงเครือข่ายหรือพื้นที่เก็บข้อมูล
ภาษาโปรแกรม
โค้ดการประมูลที่แพลตฟอร์มเทคโนโลยีโฆษณาระบุควรเขียนด้วย JavaScript ซึ่งจะช่วยให้แพลตฟอร์มเทคโนโลยีโฆษณาสามารถแชร์โค้ดการเสนอราคาในแพลตฟอร์มที่รองรับ Privacy Sandbox ได้ เป็นต้น
การแสดงโฆษณาที่มีประสิทธิภาพสูงสุด
โฆษณาที่มีคะแนนสูงสุดจะถือว่าเป็นผู้ชนะการประมูล ในข้อเสนอเริ่มต้นนี้ ระบบจะส่งโฆษณาที่ชนะไปยัง SDK เพื่อแสดงผล
แผนของเราคือการปรับปรุงโซลูชันเพื่อให้มั่นใจว่าแอปหรือ SDK ไม่สามารถระบุข้อมูลเกี่ยวกับการเป็นสมาชิกกลุ่มเป้าหมายที่กำหนดเองของผู้ใช้หรือประวัติการมีส่วนร่วมในแอปผ่านข้อมูลเกี่ยวกับโฆษณาที่มีประสิทธิภาพสูงสุดได้ (คล้ายกับข้อเสนอเฟรมที่มีการกำหนดเขต) ของ Chrome
การรายงานการแสดงผลและเหตุการณ์
เมื่อแสดงผลโฆษณาแล้ว ระบบจะรายงานการแสดงผลที่ชนะกลับไปยังแพลตฟอร์มฝั่งผู้ซื้อและฝั่งผู้ขายที่เข้าร่วม ซึ่งช่วยให้ผู้ซื้อและผู้ขายรวมข้อมูลจากการประมูล เช่น ชื่อราคาเสนอหรือกลุ่มเป้าหมายที่กำหนดเอง ไว้ในรายงานการแสดงผลที่ชนะได้ นอกจากนี้ แพลตฟอร์มฝั่งขายและแพลตฟอร์มฝั่งผู้ซื้อที่ชนะยังมีสิทธิ์รับการรายงานระดับเหตุการณ์เพิ่มเติมเกี่ยวกับโฆษณาที่ชนะ ซึ่งช่วยให้คุณรวมข้อมูลเกี่ยวกับการประมูล (ราคาเสนอ ชื่อกลุ่มเป้าหมายที่กําหนดเอง ฯลฯ) กับการคลิก การดู และเหตุการณ์อื่นๆ ของโฆษณาได้ แพลตฟอร์มจะเรียกใช้ตรรกะการรายงานตามลําดับนี้
- การรายงานฝั่งผู้ขาย
- การรายงานฝั่งซื้อ
ซึ่งช่วยให้แพลตฟอร์มฝั่งผู้ซื้อและฝั่งผู้ขายมีวิธีส่งข้อมูลสำคัญในอุปกรณ์กลับไปที่เซิร์ฟเวอร์เพื่อเปิดใช้ความสามารถต่างๆ เช่น การกําหนดงบประมาณแบบเรียลไทม์ การอัปเดตรูปแบบการเสนอราคา และเวิร์กโฟลว์การเรียกเก็บเงินที่ถูกต้อง การรองรับการรายงานการแสดงผลนี้ช่วยเสริม Attribution Reporting API
การสนับสนุนการรายงานเหตุการณ์ต้องดำเนินการ 2 ขั้นตอน ได้แก่ ฝั่งผู้ขายและฝั่งผู้ซื้อ JavaScript ต้องลงทะเบียนเหตุการณ์ที่ควรได้รับรายงานเหตุการณ์ และฝั่งผู้ขายมีหน้าที่รับผิดชอบในการรายงานข้อมูลระดับเหตุการณ์
Protected Audience มีกลไกในการติดตามเหตุการณ์ในอนาคตที่เกี่ยวข้องกับการประมูลที่ชนะโดยการลงทะเบียนบีคอน ในreportResult()
ฟังก์ชัน JavaScript ของผู้ขาย แพลตฟอร์มฝั่งขายจะลงทะเบียนบีคอนได้โดยใช้ฟังก์ชัน registerAdBeacon()
ของแพลตฟอร์ม ในทํานองเดียวกัน แพลตฟอร์มฝั่งซื้อสามารถเรียกใช้registerAdBeacon()
จากฟังก์ชัน JavaScript reportWin()
registerAdBeacon(beacons)
อินพุต:
event_key
: สตริงที่ระบุประเภทการโต้ตอบที่จะลงทะเบียน ข้อมูลนี้ใช้เป็นคีย์ในการค้นหาปลายทางที่แพลตฟอร์มส่ง Ping ขณะรายงานผลการประมูลreporting_url
: URL ที่เป็นของแพลตฟอร์มเทคโนโลยีโฆษณาสําหรับการจัดการเหตุการณ์
คีย์เหตุการณ์คือตัวระบุสตริงที่เป็นของ SDK ฝั่งขายซึ่งมีหน้าที่รายงานผลของการประมูล หากต้องการให้มีการเรียกกลับ เทคโนโลยีโฆษณาจะลงทะเบียนบีคอนด้วยคีย์ที่ตรงกับคีย์ที่ผู้ขายใช้เมื่อรายงานเหตุการณ์ คีย์เหล่านี้ไม่จำเป็นต้องเป็นคีย์ที่ไม่ระบุตัวบุคคลตาม k แต่มีขีดจํากัดด้านจํานวนและความยาวของคีย์ที่ลงทะเบียนสําหรับกลุ่มเป้าหมายที่กําหนดเองหนึ่งๆ ได้ หากมีการเรียกใช้ reportEvent()
แพลตฟอร์มฝั่งขายที่เรียกใช้การประมูลจะมีสิทธิ์รับรายงานเหตุการณ์เหล่านี้เสมอ เฉพาะแพลตฟอร์มฝั่งซื้อที่ชนะเท่านั้นที่มีสิทธิ์รับรายงานเหล่านี้
การรายงานฝั่งผู้ขาย
แพลตฟอร์มเรียกใช้ฟังก์ชัน reportResult()
JavaScript ในโค้ดที่ฝั่งอุปทานระบุซึ่งดาวน์โหลดจากพารามิเตอร์ Decision logic URL ของผู้ขายสําหรับ selectAds()
API
reportResult(render_url, bid, auction_config, contextual_signals) {
// ...
beacons = {"click":clickUri}
registerAdBeacon(beacons)
return {
"status": 0,
"results": {"reporting_url": reporting_url,
"signals_for_buyer": signals_for_buyer}};
}
เอาต์พุต: ออบเจ็กต์ JSON ที่มี
- สถานะ:
0
สำหรับ "สำเร็จ" ค่าอื่นๆ สำหรับ "ไม่สำเร็จ" - URL การรายงาน: แพลตฟอร์มจะเรียกใช้ URL นี้ที่แสดงผลจากฟังก์ชัน
- สัญญาณสำหรับผู้ซื้อ: ออบเจ็กต์ JSON ที่ส่งไปยัง
reportWin
ฟังก์ชันของผู้ซื้อ
ฝ่ายอุปทานอาจเข้ารหัสสัญญาณที่เกี่ยวข้องใน URL การรายงานเพื่อช่วยในการรับข้อมูลเชิงลึกเพิ่มเติมเกี่ยวกับการประมูลและโฆษณาที่ชนะ เช่น อาจมีสัญญาณต่อไปนี้
- URL การนําเสนอโฆษณา
- จํานวนราคาเสนอที่ชนะ
- ชื่อแอป
- ตัวระบุการค้นหา
- สัญญาณสําหรับผู้ซื้อ: แพลตฟอร์มจะส่งค่าที่แสดงผลนี้เป็นพารามิเตอร์อินพุตไปยังโค้ดการรายงานฝั่งดีมานด์เพื่อรองรับการแชร์ข้อมูลระหว่างฝั่งอุปทานและฝั่งดีมานด์
การรายงานฝั่งซื้อ
แพลตฟอร์มจะเรียกใช้reportWin()
ฟังก์ชัน JavaScript ในโค้ดที่ฝั่งดีมานด์ระบุซึ่งดาวน์โหลดมาจากข้อมูลเมตา URL ของตรรกะการเสนอราคาของกลุ่มเป้าหมายที่กำหนดเองซึ่งเชื่อมโยงกับการประมูล
reportWin(render_url, bid, auction_signals, per_buyer_signals,
signals_for_buyer, contextual_signals, custom_audience_signals) {
// ...
beacons = {"click":clickUri}
registerAdBeacon(beacons)
return {
"status": 0,
"results": {"reporting_uri": reporting_uri}};
}
อินพุต:
- ดึงข้อมูล
auction_signals
และper_buyer_signals
จากAuctionConfig
ข้อมูลใดก็ตามที่แพลตฟอร์มฝั่งซื้อต้องส่งไปยัง URL การรายงานอาจมาจากข้อมูลนี้ signals_for_buyer
คือเอาต์พุตของ reportResult ฝั่งผู้ขาย ซึ่งเปิดโอกาสให้แพลตฟอร์มฝั่งขายแชร์ข้อมูลกับแพลตฟอร์มฝั่งซื้อเพื่อวัตถุประสงค์ในการรายงานcontextual_signals
มีข้อมูล เช่น ชื่อแอป และcustom_audience_signals
มีข้อมูลกลุ่มเป้าหมายที่กำหนดเอง ทั้งนี้อาจมีการเพิ่มข้อมูลอื่นๆ ในอนาคต
เอาต์พุต:
- สถานะ:
0
สำหรับ "สำเร็จ" ค่าอื่นๆ สำหรับ "ไม่สำเร็จ" - URL การรายงาน: แพลตฟอร์มจะเรียกใช้ URL นี้ที่แสดงผลจากฟังก์ชัน
การรายงานเหตุการณ์
คุณจะรายงานเหตุการณ์ได้หลังจากที่การรายงานการแสดงผลสำหรับการประมูลเสร็จสมบูรณ์แล้วเท่านั้น SDK ฝั่งขายมีหน้าที่รับผิดชอบในการรายงานเหตุการณ์ แพลตฟอร์มจะแสดง API ที่ใช้ ReportEventRequest
ที่ระบุการประมูลที่เพิ่งทํา รหัสเหตุการณ์ที่รายงาน ข้อมูลที่เชื่อมโยงกับรหัสนั้น ว่าควรส่งรายงานไปยังผู้ซื้อหรือผู้ขาย (หรือทั้ง 2 ฝ่าย) และเหตุการณ์อินพุตที่ไม่บังคับสําหรับเหตุการณ์โฆษณา ไคลเอ็นต์จะกําหนดคีย์เหตุการณ์และการเก็บรวบรวมข้อมูลที่จะรายงาน
ReportEventRequest request = new ReportEventRequest(
AdSelectionId = ad_selection_id,
event_key = "view"
event_data = "{ "viewTimeInSeconds" :1 }",
reporting_destinations =
FLAG_REPORTING_DESTINATION_SELLER |
FLAG_REPORTING_DESTINATION_BUYER,
input_event = clickInputEvent // or null for view
)
reportEvent(request)
อินพุต:
ad_selection_id
ต้องเป็นAdSelectionId
ของการประมูลที่เพิ่งจัดขึ้น ดึงมาจากAdSelectionOutcome
event_key
คือสตริงที่ฝั่งขายกําหนดซึ่งอธิบายเหตุการณ์การโต้ตอบevent_data
คือสตริงที่แสดงข้อมูลที่เชื่อมโยงกับevent_key
reporting_destinations
คือบิตมาสก์ที่ตั้งค่าโดยใช้ Flag ที่แพลตฟอร์มระบุ โดยอาจเป็นFLAG_REPORTING_DESTINATION_SELLER
หรือFLAG_REPORTING_DESTINATION_BUYER
หรือทั้ง 2 อย่างก็ได้input_event
(ไม่บังคับ) ใช้สำหรับการผสานรวมกับ Attribution Reporting API อาจเป็นออบเจ็กต์InputEvent
(สําหรับเหตุการณ์การคลิก) หรือเป็นค่า Null (สําหรับเหตุการณ์การดู) ดูรายละเอียดเพิ่มเติมเกี่ยวกับพารามิเตอร์นี้ได้ที่การผสานรวม Attribution Reporting API
หลังจาก SDK ฝั่งขายเรียกใช้ reportEvent
แล้ว แพลตฟอร์มจะพยายามจับคู่ event_key
กับคีย์ที่ผู้ซื้อและผู้ขายลงทะเบียนไว้ในฟังก์ชัน JavaScript ของ reportWin
และ reportResult
ทั้งนี้ขึ้นอยู่กับ Flag reporting_destinations
หากตรงกัน แพลตฟอร์มจะส่ง event_data
ไปยัง reporting_url
ที่เชื่อมโยง ประเภทเนื้อหาของคําขอคือข้อความธรรมดาที่มีevent_data
เป็นเนื้อหา คําขอนี้จะดำเนินการอย่างดีที่สุดและจะดำเนินการไม่สำเร็จโดยอัตโนมัติในกรณีที่เกิดข้อผิดพลาดเกี่ยวกับเครือข่าย การตอบกลับของเซิร์ฟเวอร์ หรือหากไม่พบคีย์ที่ตรงกัน
การผสานรวม Attribution Reporting API
เราให้บริการฟังก์ชันการทำงานข้าม API ใน Protected Audience และ Attribution Reporting API (ARA) เพื่อรองรับผู้ซื้อที่เข้าร่วมการประมูล Protected Audience ฟังก์ชันการทํางานนี้ช่วยให้นักเทคโนโลยีโฆษณาประเมินประสิทธิภาพการระบุแหล่งที่มาในกลยุทธ์รีมาร์เก็ตติ้งต่างๆ เพื่อให้ทราบได้ว่ากลุ่มเป้าหมายประเภทใดให้ ROI สูงสุด
การผสานรวมข้าม API นี้ช่วยให้เทคโนโลยีโฆษณาทําสิ่งต่อไปนี้ได้
- สร้างการแมปคีย์-ค่าของ URI เพื่อใช้สําหรับทั้ง 1) การรายงานการโต้ตอบกับโฆษณา และ 2) การลงทะเบียนแหล่งที่มา
- รวมข้อมูลการประมูลจากการประมูลกลุ่มเป้าหมายที่ได้รับการคุ้มครองในการแมปคีย์ฝั่งแหล่งที่มาสําหรับการรายงานสรุปรวม (โดยใช้ Attribution Reporting API) ดูข้อมูลเพิ่มเติมได้ในข้อเสนอการออกแบบ ARA
เมื่อผู้ใช้เห็นหรือคลิกโฆษณา
- URL ที่ใช้รายงานการโต้ตอบกับเหตุการณ์เหล่านั้นโดยใช้ Protected Audience จะระบุข้อมูลที่จำเป็นให้แก่ผู้ซื้อเพื่อใช้ในการบันทึกการดูหรือการคลิกเป็นแหล่งที่มาที่มีสิทธิ์ด้วย Attribution Reporting API
- เทคโนโลยีโฆษณาอาจเลือกส่ง
CustomAudience
(หรือข้อมูลตามบริบทอื่นๆ ที่เกี่ยวข้องเกี่ยวกับโฆษณา เช่น ตําแหน่งโฆษณาหรือระยะเวลาในการดู) โดยใช้ URL ดังกล่าวเพื่อให้เมตาดาต้านี้ส่งต่อไปยังรายงานสรุปได้เมื่อเทคโนโลยีโฆษณาตรวจสอบประสิทธิภาพแคมเปญโดยรวม
การเปิดใช้การลงทะเบียนแหล่งที่มา
reportEvent()
จะยอมรับพารามิเตอร์ที่ไม่บังคับใหม่ InputEvent
ผู้ซื้อที่ชนะซึ่งลงทะเบียนบีคอนโฆษณาจะเลือกรายงาน reportEvent ที่จะลงทะเบียนกับ Attribution Reporting API เป็นแหล่งที่มาที่ลงทะเบียนได้ ระบบจะเพิ่มส่วนหัว "มีสิทธิ์รายงานการระบุแหล่งที่มา" ลงในคำขอรายงานเหตุการณ์ทั้งหมดที่ส่งจาก reportEvent()
การตอบกลับที่มีส่วนหัว ARA ที่เหมาะสมจะได้รับการแยกวิเคราะห์ในลักษณะเดียวกับการตอบกลับการลงทะเบียนแหล่งที่มา ARA ปกติอื่นๆ ดูคําอธิบาย Attribution Reporting API สําหรับวิธีลงทะเบียน URL แหล่งที่มา
เนื่องจาก ARA ใน Android รองรับเหตุการณ์การดูและการคลิก ระบบจึงใช้ InputEvents
เพื่อแยกความแตกต่างระหว่าง 2 ประเภทนี้ เช่นเดียวกับการลงทะเบียนแหล่งที่มา ARA reportEvent()
API จะตีความInputEvent
ที่ยืนยันโดยแพลตฟอร์มเป็นเหตุการณ์คลิก หากไม่มี InputEvent
หรือ InputEvent
เป็นค่าว่างหรือไม่ถูกต้อง ระบบจะถือว่าการลงทะเบียนแหล่งที่มาเป็นการดู
โปรดทราบว่า eventData
หลังการประมูลอาจมีข้อมูลที่ละเอียดอ่อน ดังนั้นแพลตฟอร์มจึงนำ eventData
ออกจากคำขอลงทะเบียนแหล่งที่มาที่เปลี่ยนเส้นทาง
ตัวอย่างการรายงานการมีส่วนร่วมและ Conversion
ในตัวอย่างนี้ เราจะพิจารณาจากมุมมองของผู้ซื้อที่สนใจเชื่อมโยงข้อมูลจากการประมูล โฆษณาที่แสดงผล และแอป Conversion
ในเวิร์กโฟลว์นี้ ผู้ซื้อจะประสานงานกับผู้ขายเพื่อส่งรหัสที่ไม่ซ้ำกันในการประมูล ในระหว่างการประมูล ผู้ซื้อจะส่งรหัสที่ไม่ซ้ำกันนี้พร้อมกับข้อมูลการประมูล ในระหว่างการแสดงผลและเวลาที่เกิด Conversion ระบบจะส่งข้อมูลจากโฆษณาที่แสดงผลแล้วด้วยรหัสที่ไม่ซ้ำกันเดียวกัน ภายหลัง คุณจะใช้รหัสที่ไม่ซ้ำกันเพื่อเชื่อมโยงรายงานเหล่านี้เข้าด้วยกันได้
เวิร์กโฟลว์:
ก่อนการประมูลจะเริ่มขึ้น ผู้ซื้อจะส่งรหัสที่ไม่ซ้ำกันไปยังผู้ขายเป็นส่วนหนึ่งของการตอบกลับราคาเสนอแบบเรียลไทม์ ("RTB") แบบเป็นโปรแกรม คุณสามารถตั้งค่ารหัสเป็นตัวแปรได้ เช่น auctionId
ระบบจะส่งรหัสเป็น perBuyerSignals
ใน auctionConfig
และรหัสจะพร้อมใช้งานในตรรกะการเสนอราคาของผู้ซื้อ
- ในระหว่างการเรียกใช้
reportWin
ผู้ซื้อสามารถลงทะเบียนบีคอนโฆษณาให้ทริกเกอร์ระหว่างเวลาที่โฆษณาแสดงผลและสำหรับเหตุการณ์การโต้ตอบที่เฉพาะเจาะจง (registerAdBeacon()
) หากต้องการเชื่อมโยงสัญญาณการประมูลกับเหตุการณ์โฆษณา ให้ตั้งค่าauctionId
เป็นพารามิเตอร์การค้นหาของ URL บีคอน - ในระหว่างการแสดงผลโฆษณา ระบบจะทริกเกอร์หรือปรับปรุงบีคอนที่คุณลงทะเบียนไว้ในระหว่างการประมูลด้วยข้อมูลระดับเหตุการณ์ ผู้ขายต้องทริกเกอร์
reportEvent()
และส่งข้อมูลระดับเหตุการณ์ แพลตฟอร์มจะส่งคําขอ ping ไปยัง URL ของบีคอนโฆษณาที่ลงทะเบียนไว้ของผู้ซื้อซึ่งสัมพันธ์กับreportEvent()
ที่ทริกเกอร์ - ผู้ซื้อจะลงทะเบียนโฆษณากับ Attribution Reporting API โดยตอบกลับคําขอบีคอนโฆษณาด้วยส่วนหัว
Attribution-Reporting-Register-Source
หากต้องการเชื่อมโยงสัญญาณการประมูลสำหรับเหตุการณ์ Conversion ให้ตั้งค่าauctionId
ใน URL แหล่งที่มาของรีจิสทรี
หลังจากกระบวนการข้างต้น ผู้ซื้อจะมีรายงานการประมูล รายงานการโต้ตอบ และรายงาน Conversion ซึ่งสามารถเชื่อมโยงโดยใช้รหัสที่ไม่ซ้ำกันซึ่งใช้เชื่อมโยงกันได้
ผู้ขายจะใช้เวิร์กโฟลว์ที่คล้ายกันนี้หากต้องการเข้าถึงข้อมูลการระบุแหล่งที่มา และผู้ขายยังใช้รหัสที่ไม่ซ้ำกันเพื่อส่งพร้อมกับ registerAdBeacon()
ได้ด้วย การเรียกใช้ reportEvent()
มีพร็อพเพอร์ตี้ปลายทางที่สามารถใช้ส่งรายงานไปยังทั้งผู้ซื้อและผู้ขาย
เซิร์ฟเวอร์ที่เชื่อถือได้ซึ่งจัดการโดยแพลตฟอร์มเทคโนโลยีโฆษณา
ตรรกะการเลือกโฆษณาในปัจจุบันต้องใช้ข้อมูลแบบเรียลไทม์ เช่น สถานะการหมดงบประมาณ เพื่อพิจารณาว่าควรเลือกผู้สมัครโฆษณาสำหรับการประมูลหรือไม่ ทั้งแพลตฟอร์มฝั่งซื้อและฝั่งขายจะรับข้อมูลนี้ได้จากเซิร์ฟเวอร์ที่ใช้งาน เพื่อลดการรั่วไหลของข้อมูลที่ละเอียดอ่อนผ่านเซิร์ฟเวอร์เหล่านี้ ข้อเสนอจึงกำหนดข้อจำกัดต่อไปนี้
- ลักษณะการทํางานของเซิร์ฟเวอร์เหล่านี้ตามที่อธิบายไว้ในส่วนนี้ในภายหลังจะไม่รั่วไหลข้อมูลผู้ใช้
- เซิร์ฟเวอร์จะไม่สร้างโปรไฟล์ที่ไม่ระบุตัวบุคคลตามข้อมูลที่เห็น นั่นคือจะต้องเป็นเซิร์ฟเวอร์ที่ "เชื่อถือได้"
ฝั่งผู้ซื้อ: เมื่อฝั่งผู้ซื้อเริ่มตรรกะการเสนอราคาฝั่งผู้ซื้อ แพลตฟอร์มจะดึงข้อมูลการเสนอราคาที่เชื่อถือได้ผ่าน HTTP จากเซิร์ฟเวอร์ที่เชื่อถือได้ URL นี้สร้างขึ้นโดยการต่อท้าย URL และคีย์ที่มีอยู่ในข้อมูลเมตาของสัญญาณการเสนอราคาที่เชื่อถือได้ของกลุ่มเป้าหมายที่กําหนดเองที่ประมวลผล การดึงข้อมูลนี้จะดำเนินการเฉพาะเมื่อประมวลผลโฆษณาจากกลุ่มเป้าหมายที่กำหนดเองในอุปกรณ์เท่านั้น ในขั้นตอนนี้ ฝ่ายซื้อสามารถบังคับใช้งบประมาณ ตรวจสอบสถานะหยุดชั่วคราว / เลิกหยุดชั่วคราวของแคมเปญ ทำการกําหนดเป้าหมาย ฯลฯ
ด้านล่างนี้คือตัวอย่าง URL ในการดึงข้อมูลการเสนอราคาที่เชื่อถือได้ โดยอิงตามข้อมูลเมตาสัญญาณการเสนอราคาที่เชื่อถือได้จากกลุ่มเป้าหมายที่กําหนดเอง
https://www.kv-server.example/getvalues?keys=key1,key2
การตอบกลับจากเซิร์ฟเวอร์ควรเป็นออบเจ็กต์ JSON ที่มีคีย์เป็น key1, key2 เป็นต้น และค่าที่พร้อมใช้งานสำหรับฟังก์ชันการเสนอราคาของผู้ซื้อ
ฝั่งผู้ขาย: ฝั่งผู้ขายอาจต้องการดึงข้อมูลเกี่ยวกับครีเอทีฟโฆษณาที่พิจารณาในการประมูล ซึ่งคล้ายกับขั้นตอนฝั่งผู้ซื้อด้านบน ตัวอย่างเช่น ผู้เผยแพร่โฆษณาอาจต้องการบังคับไม่ให้ครีเอทีฟโฆษณาบางรายการแสดงในแอปของตนเนื่องจากข้อกังวลด้านความปลอดภัยของแบรนด์ ระบบสามารถดึงข้อมูลนี้และทำให้พร้อมใช้งานสำหรับตรรกะการประมูลฝั่งขาย การค้นหาเซิร์ฟเวอร์ที่เชื่อถือฝั่งขายจะทํางานโดยใช้การดึงข้อมูล HTTP เช่นเดียวกับการค้นหาเซิร์ฟเวอร์ที่เชื่อถือฝั่งซื้อ URL ประกอบด้วยการต่อท้าย URL ของสัญญาณการให้คะแนนที่เชื่อถือได้ด้วย URL การนําเสนอของครีเอทีฟโฆษณาที่จําเป็นต้องดึงข้อมูล
ด้านล่างนี้คือตัวอย่าง URL ในการดึงข้อมูลเกี่ยวกับครีเอทีฟโฆษณาที่พิจารณาในการประมูล โดยอิงตาม URL การนําเสนอครีเอทีฟโฆษณา
https://www.kv-server.example/getvalues?renderUrls=render_url1,render_url2
การตอบกลับจากเซิร์ฟเวอร์ควรเป็นออบเจ็กต์ JSON ที่มีคีย์เป็น URL การแสดงผลที่ส่งในคำขอ
เซิร์ฟเวอร์เหล่านี้จะทำงานด้วยวิธีที่เชื่อถือได้เพื่อมอบสิทธิประโยชน์ด้านความปลอดภัยและความเป็นส่วนตัวหลายประการ ดังนี้
- ค่าที่แสดงผลของเซิร์ฟเวอร์สำหรับแต่ละคีย์จะเชื่อถือได้ว่าจะอิงตามคีย์นั้นๆ เท่านั้น
- เซิร์ฟเวอร์ไม่บันทึกในระดับเหตุการณ์
- เซิร์ฟเวอร์ไม่มีผลข้างเคียงอื่นๆ จากคําขอเหล่านี้
ในฐานะกลไกชั่วคราว ผู้ซื้อและผู้ขายสามารถดึงข้อมูลสัญญาณการเสนอราคาเหล่านี้จากเซิร์ฟเวอร์ใดก็ได้ รวมถึงเซิร์ฟเวอร์ที่ตนเองดำเนินการเอง อย่างไรก็ตาม ในเวอร์ชันที่เผยแพร่ ระบบจะส่งคำขอไปยังเซิร์ฟเวอร์ประเภทคีย์-ค่าที่เชื่อถือได้เท่านั้น
ผู้ซื้อและผู้ขายสามารถใช้เซิร์ฟเวอร์ประเภทคีย์-ค่าที่เชื่อถือได้ร่วมกันสำหรับแพลตฟอร์มที่เข้ากันได้กับ Privacy Sandbox ใน Android และสำหรับเว็บ