บางภูมิภาคมีกฎระเบียบการลบข้อมูลที่กำหนดให้ผู้เผยแพร่โฆษณาต้องจัดหาวิธีให้ผู้ใช้เนื้อหาของตนขอให้ลบข้อมูลได้ หากการผสานรวมการเสนอราคาแบบเรียลไทม์ใช้ตัวระบุบุคคลที่หนึ่งและได้รับพื้นที่โฆษณาจากภูมิภาคที่มีกฎระเบียบการลบข้อมูล Google ขอแนะนำให้คุณผสานรวมกับเฟรมเวิร์กคำขอการลบข้อมูลของ IAB
เมื่อผู้ใช้เลือกที่จะลบตัวระบุของตนออกจากแอปหรือเว็บไซต์ของผู้เผยแพร่โฆษณา เฟรมเวิร์กคำขอลบข้อมูลจะช่วยให้ผู้เผยแพร่โฆษณาเผยแพร่คำขอลบข้อมูลได้ ผู้เผยแพร่โฆษณาส่งคำขอลบข้อมูลไปยัง Exchange ซึ่งสามารถส่งต่อคำขอลบข้อมูลไปยังคุณได้ เมื่อได้รับคำขอให้ลบข้อมูล คุณต้องส่งต่อคำขอไปยังเอนทิตีที่คุณแชร์ข้อมูลจากบุคคลที่หนึ่งของผู้เผยแพร่โฆษณาด้วย เช่น หากมีการผสานรวม Open Bidding คุณต้องส่งต่อคำขอไปยังผู้เสนอราคาใน Exchange ที่มีการแชร์ข้อมูลจากบุคคลที่หนึ่งด้วย
คู่มือนี้ครอบคลุมการตั้งค่าเริ่มต้นของการผสานรวมเฟรมเวิร์กคำขอให้ลบข้อมูล กับ Google Exchange และให้ภาพรวมของเวิร์กโฟลว์เฟรมเวิร์กคำขอให้ลบข้อมูล ภายในบริบทของ Google Exchange ดูคำแนะนำเพิ่มเติมได้ที่เฟรมเวิร์กคำขอลบข้อมูล
ตั้งค่าการผสานรวม
หากต้องการเริ่มรับคำขอให้ลบข้อมูลจาก Google คุณต้องลงทะเบียนโดเมนกับ Google ที่ต้องการเชื่อมโยงกับบัญชี และโฮสต์ไฟล์ dsrdelete.json ที่รูทของโดเมนที่ลงทะเบียน หากต้องการจดทะเบียนโดเมนกับ Google โปรดติดต่อผู้จัดการฝ่ายดูแลลูกค้า ไฟล์ dsrdelete.json
มีวัตถุประสงค์หลายประการ เช่น
- การระบุปลายทางที่ Google ส่งคำขอลบข้อมูล
- แสดงตัวระบุที่รองรับและวิธีจัดรูปแบบ
- การระบุคีย์สาธารณะของคุณตามมาตรฐาน JSON Web Key (JWK) ซึ่งบุคคลที่สามใช้เพื่อยืนยันความถูกต้องของคำขอ การลบหรือการรับทราบข้อมูลที่เผยแพร่ที่คุณส่ง
ดูรายละเอียดเกี่ยวกับไฟล์ drsdelete.json เช่น ฟิลด์ที่จำเป็นและไม่บังคับที่คุณสามารถป้อนได้ที่การค้นพบ
ปลายทางที่ระบุในไฟล์ dsrdelete.json ต้องรับและตอบกลับ
คำขอให้นำข้อมูลออกที่เข้ามา Google ขอแนะนําให้ใช้ไลบรารีการเข้ารหัสสําหรับภาษาโปรแกรมที่คุณเลือกเพื่อยืนยันคําขอที่คุณได้รับและลงนามในข้อความรับทราบที่คุณส่ง
ตัวอย่างต่อไปนี้จะตั้งค่าไฟล์ dsrdelete.json ที่มีปลายทาง
ตัวระบุ และคีย์สาธารณะ
{
"endpoint": "https://www.doubleclick.net/iab-ddrf",
"identifiers": [
{ "id": 1, "type": "ppid", "format": "plaintext" },
{ "id": 2, "type": "idfv", "format": "plaintext" },
{ "id": 3, "type": "pfpid_domain", "format": "plaintext" }
],
"publicKey": [
{
"kty": "EC",
"crv": "P-256",
"x": "_OPPeKSEdi3_JEHla93vOGTx8VD01ozhyYxwQzYCVLs",
"y": "_XHufu2A_hbN5Uj4Wm7JPHE7ly0_4cmqntmz93pweys",
"kid": "yUa3wQ",
"use": "sig",
"alg": "ES256"
}
],
"vendorScriptRequirement": false
}
รับคำขอให้ลบข้อมูล
Google จะส่งต่อคำขอให้ลบข้อมูลจากผู้เผยแพร่โฆษณาถึงคุณเมื่อตรงตามเงื่อนไขต่อไปนี้ทั้งหมด
- คุณโฮสต์ไฟล์
dsrdelete.jsonที่ถูกต้องในโดเมนที่จดทะเบียนกับ Google - ผู้เผยแพร่โฆษณาส่งคำขอลบข้อมูลสำหรับตัวระบุไปยัง Google
- Google พบว่าตัวระบุผู้เผยแพร่โฆษณาที่ส่งในคำขอให้ลบข้อมูล มีการแชร์กับคุณ
เมื่อได้รับคำขอลบข้อมูล คุณมีหน้าที่ลบข้อมูลที่ระบุ นอกจากนี้ คุณยังต้องส่งต่อคำขอให้ลบข้อมูลไปยังพาร์ทเนอร์ด้านข้อมูลรายอื่นๆ ที่คุณแชร์ข้อมูลผู้เผยแพร่โฆษณาจากบุคคลที่หนึ่งด้วย Google รองรับคำขอลบข้อมูลสำหรับตัวระบุต่อไปนี้
ppid: ตัวระบุที่ผู้เผยแพร่โฆษณามีให้ (PPID)pfpid_domain: ตัวระบุของบุคคลที่หนึ่งของผู้เผยแพร่โฆษณาสำหรับเว็บidfv: ตัวระบุของบุคคลที่หนึ่งของผู้เผยแพร่โฆษณาสําหรับอุปกรณ์ iOS
Google จะส่งคำขอลบข้อมูลเป็นคำขอ HTTP POST ไปยังปลายทาง
ที่ระบุไว้ในไฟล์ dsrdelete.json เนื้อหาของคำขอให้ลบข้อมูล
มีโทเค็นเว็บ JSON (JWT) ซึ่งประกอบด้วย
ส่วนต่อไปนี้
- ส่วนหัวของ JOSE ที่อธิบายอัลกอริทึมการเข้ารหัส
- เพย์โหลด JWS ที่มีคำขอลบ
- ลายเซ็น JWS เพื่อยืนยันความถูกต้องของคำขอ
Google จะเข้ารหัสส่วนหัว เพย์โหลด และลายเซ็นใน base64 และจัดรูปแบบรายการเหล่านี้ ดังนี้
WEB_SAFE_BASE64_ENCODED_HEADER.WEB_SAFE_BASE64_ENCODED_PAYLOAD.WEB_SAFE_BASE64_ENCODED_SIGNATURE
ดูข้อมูลเพิ่มเติมเกี่ยวกับ JWT ที่แตกต่างกันซึ่งใช้ในเฟรมเวิร์กการลบข้อมูลได้ที่ การติดตั้งใช้งาน JSON Web Token (JWT) คำขอให้ลบข้อมูลที่คุณได้รับจาก Google คือ Request JWT (rqJWT) ซึ่งมี Identity JWT (idJWT) ที่ผู้เผยแพร่โฆษณาส่งเมื่อขอ ให้ลบ
ดูรายละเอียดการตรวจสอบในส่วนหัว
ส่วนหัวคือออบเจ็กต์ JSON ที่อธิบายอัลกอริทึมที่คุณต้องใช้เพื่อสร้างแฮชของคำขอ ซึ่งจำเป็นต่อการยืนยันความถูกต้องของคำขอ หากผู้ออกมีคีย์ส่วนตัวหลายคีย์ที่ใช้สร้างลายเซ็นได้ ส่วนหัวจะระบุคีย์สาธารณะของผู้ออกที่คุณใช้เพื่อตรวจสอบลายเซ็นได้ด้วย
ตัวอย่างต่อไปนี้คือส่วนหัวที่ถอดรหัสแล้วซึ่งแสดงให้เห็นว่าคุณสามารถใช้อัลกอริทึม RSA256
กับรหัสคีย์ abc123 เพื่อตรวจสอบลายเซ็นได้
{
"typ": "JWT",
"alg": "RS256",
"kid": "abc123"
}
ตรวจสอบสิทธิ์คำขอ
คุณสามารถยืนยันว่า Google ส่งคำขอลบข้อมูลด้วยคีย์สาธารณะ
ในไฟล์ dsrdelete.json ของ Google Google dsrdelete.json โฮสต์ไฟล์
ที่ https://static.doubleclick.net/dsrdelete.json
หากต้องการยืนยันความถูกต้องของคำขอลบข้อมูล ให้ทำตามขั้นตอนต่อไปนี้
คำนวณแฮชของส่วนหัวและเพย์โหลดโดยใช้อัลกอริทึมที่ระบุในส่วนหัว ข้อมูลที่ส่งไปยังฟังก์ชันแฮชต้องใช้โครงสร้างต่อไปนี้
WEB_SAFE_BASE64_ENCODED_HEADER.WEB_SAFE_BASE64_ENCODED_PAYLOADใช้คีย์สาธารณะที่ระบุไว้ในไฟล์
dsrdelete.jsonของผู้ออกเพื่อ ถอดรหัสลายเซ็นที่ถอดรหัสแล้วเปรียบเทียบแฮชที่คุณสร้างในขั้นตอนที่ 1 กับค่าที่ถอดรหัสจาก ลายเซ็น หากรายการเหล่านี้ตรงกัน แสดงว่าคำขอลบข้อมูลเป็นของจริง
แยกวิเคราะห์เพย์โหลดคำขอลบ
หลังจากยืนยันความถูกต้องของคำขอลบข้อมูลแล้ว คุณต้อง แยกวิเคราะห์เพย์โหลดเพื่อยืนยันตัวระบุที่จะลบ เพย์โหลดที่ถอดรหัสแล้วคือโทเค็น rqJWT โปรดดูรายละเอียดที่ rqJWT: JWT ของ "คำขอ" ของผู้ขอ
ตัวอย่างต่อไปนี้แสดงเพย์โหลดที่ถอดรหัสเป็นโทเค็น rqJWT และมี พารามิเตอร์ที่ไม่บังคับ
{
"optionalParameters": "{\"gamNetworkCode\":\"311057\"}",
"sub": "{\n \"identifierValue\": \"crvBtLjLqNUiafwXZiyukLD4Tf6mMUYhBdQaPZ0pjyd\",\n \"identifierType\": \"ppid\",\n \"identifierFormat\": \"plaintext\"\n }",
"iat": 1756257951,
"version": "1.0",
"iss": "test_publisher",
"idJWT": "eyJhbGciOiJFUzI1NiIsImtpZCI6IkVodWR1USIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ0ZXN0X3B1Ymxpc2hlciIsInN1YiI6IntcbiAgICBcImlkZW50aWZpZXJWYWx1ZVwiOiBcImNydkJ0TGpMcU5VaWFmd1haaXl1a0xENFRmNm1NVVloQmRRYVBaMHBqeWRcIixcbiAgICBcImlkZW50aWZpZXJUeXBlXCI6IFwicHBpZFwiLFxuICAgIFwiaWRlbnRpZmllckZvcm1hdFwiOiBcInBsYWludGV4dFwiXG4gIH0iLCJpYXQiOjE3NTYyNTc5NTEsInZlcnNpb24iOiIxLjAifQ.Dh17fv1sxKMnkOa7HOWfVdsIYo8BBy2p9SkDTSfZoW6ypMdl_5wDYtUIYEfuX3n6UbwMoH0WVgGQnFQraMH6XQ"
}
คำขอให้ลบข้อมูลมีฟิลด์ sub ซึ่งมีสตริง JSON
ที่ระบุว่าผู้เผยแพร่โฆษณากำลังขอให้ลบ PPID ที่มีค่า
เป็น crvBtLjLqNUiafwXZiyukLD4Tf6mMUYhBdQaPZ0pjyd โทเค็น rqJWT มีโทเค็น idJWT ที่เข้ารหัส ดูรายละเอียดได้ที่
idJWT: JWT "ตัวระบุ" ของผู้ออก
ส่งต่อคำขอลบข้อมูล
คุณต้องส่งต่อคำขอให้ลบข้อมูลไปยังพาร์ทเนอร์ข้อมูลที่คุณแชร์ตัวระบุที่ระบุไว้ด้วย
ตัวอย่างเช่น หากคุณผสานรวมกับ
การเสนอราคาแบบเปิด คุณต้องส่งต่อคำขอให้ลบข้อมูลไปยังผู้เสนอราคาใน
การแลกเปลี่ยนที่คุณแชร์ตัวระบุของบุคคลที่หนึ่งด้วย กระบวนการนี้
กำหนดให้คุณต้องส่งโทเค็น rqJWT ให้กับพาร์ทเนอร์ด้านข้อมูล โทเค็น rqJWT ต้องมีตัวระบุที่เกี่ยวข้องซึ่งจัดรูปแบบตามการกำหนดค่าในไฟล์ dsrdelete.json ของพาร์ทเนอร์ด้านข้อมูล นอกจากนี้ โทเค็น rqJWT ต้องมีลายเซ็นที่สร้างด้วยคีย์ส่วนตัวของคุณด้วย
รับทราบคำขอลบข้อมูล
หากต้องการรับทราบว่าคุณได้รับและดำเนินการตามคำขอให้ลบข้อมูลแล้ว
ให้ส่ง JWT การรับทราบไปยังปลายทางที่ Google ระบุไว้ในไฟล์
dsrdelete.json โปรดดูรายละเอียดที่หัวข้อ
acJWT: JWT "การรับทราบ" ของผู้รับ
รหัสสถานะ HTTP ของการตอบกลับจะขึ้นอยู่กับผลลัพธ์ต่อไปนี้
- สำเร็จ: แสดงผล
HTTP 202หากได้รับคำขอ แยกวิเคราะห์ และดำเนินการตามคำขอเรียบร้อยแล้ว - ล้มเหลว: แสดง
HTTP 400หากไม่ได้รับคำขอ แยกวิเคราะห์ และดำเนินการตามคำขอสำเร็จ
เนื้อความของคำขอต้องมีโทเค็น acJWT พร้อมเพย์โหลดที่ป้อนข้อมูลในฟิลด์
raResultCode ด้วยรหัสผลลัพธ์ที่เป็นจำนวนเต็ม คุณระบุข้อความอธิบายเกี่ยวกับผลลัพธ์ในช่อง raResultString ได้ (ไม่บังคับ) โทเค็น acJWT
ต้องมีลายเซ็นที่สร้างขึ้นด้วยคีย์ส่วนตัว
ดูข้อมูลเพิ่มเติมเกี่ยวกับรหัสผลลัพธ์ที่รองรับในเฟรมเวิร์กคำขอลบข้อมูลได้ที่รหัสผลลัพธ์
สร้างส่วนหัวโทเค็น acJWT
ป้อนข้อมูลส่วนหัวตามฟังก์ชันแฮชและคีย์สาธารณะที่คุณต้องการให้
ผู้รับใช้เมื่อยืนยันลายเซ็น ส่วนหัวที่ไม่ได้เข้ารหัสใน
ตัวอย่างต่อไปนี้บ่งบอกว่าคุณต้องการให้ผู้รับใช้อัลกอริทึม ES256
เพื่อสร้างแฮช และผู้รับต้องใช้คีย์สาธารณะ
ที่มีรหัสคีย์ EhuduQ จากไฟล์ dsrdelete.json เมื่อถอดรหัสลายเซ็น
{
"alg": "ES256",
"typ": "JWT",
"kid": "EhuduQ"
}
สร้างเพย์โหลดโทเค็น acJWT
ป้อนข้อมูลเพย์โหลดตามผลลัพธ์ของคำขอลบ และป้อนข้อมูลฟิลด์ rqJWT ด้วยรูปแบบที่เข้ารหัสของโทเค็น rqJWT ที่คุณ
รับทราบ ตัวอย่างต่อไปนี้ระบุraResultCodeฟิลด์ที่มีค่า 0 เพื่อระบุว่าการดำเนินการสำเร็จ
{
"version": "1.0",
"jti": "965492b2-74e5-409a-90f4-f041902db05f",
"raResultString": "",
"iat": 1756408212,
"iss": "doubleclick.net",
"raResultCode": 0,
"rqJWT": "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVodWR1USJ9.eyJvcHRpb25hbFBhcmFtZXRlcnMiOiJ7XCJnYW1OZXR3b3JrQ29kZVwiOlwiMzExMDU3XCJ9Iiwic3ViIjoie1xuICAgIFwiaWRlbnRpZmllclZhbHVlXCI6IFwiY3J2QnRMakxxTlVpYWZ3WFppeXVrTEQ0VGY2bU1VWWhCZFFhUFowcGp5ZFwiLFxuICAgIFwiaWRlbnRpZmllclR5cGVcIjogXCJwcGlkXCIsXG4gICAgXCJpZGVudGlmaWVyRm9ybWF0XCI6IFwicGxhaW50ZXh0XCJcbiAgfSIsImlhdCI6MTc1NjI1Nzk1MSwidmVyc2lvbiI6IjEuMCIsImlzcyI6InRlc3RfcHVibGlzaGVyIiwiaWRKV1QiOiJleUpoYkdjaU9pSkZVekkxTmlJc0ltdHBaQ0k2SWtWb2RXUjFVU0lzSW5SNWNDSTZJa3BYVkNKOS5leUpwYzNNaU9pSjBaWE4wWDNCMVlteHBjMmhsY2lJc0luTjFZaUk2SW50Y2JpQWdJQ0JjSW1sa1pXNTBhV1pwWlhKV1lXeDFaVndpT2lCY0ltTnlka0owVEdwTWNVNVZhV0ZtZDFoYWFYbDFhMHhFTkZSbU5tMU5WVmxvUW1SUllWQmFNSEJxZVdSY0lpeGNiaUFnSUNCY0ltbGtaVzUwYVdacFpYSlVlWEJsWENJNklGd2ljSEJwWkZ3aUxGeHVJQ0FnSUZ3aWFXUmxiblJwWm1sbGNrWnZjbTFoZEZ3aU9pQmNJbkJzWVdsdWRHVjRkRndpWEc0Z0lIMGlMQ0pwWVhRaU9qRTNOVFl5TlRjNU5URXNJblpsY25OcGIyNGlPaUl4TGpBaWZRLkRoMTdmdjFzeEtNbmtPYTdIT1dmVmRzSVlvOEJCeTJwOVNrRFRTZlpvVzZ5cE1kbF81d0RZdFVJWUVmdVgzbjZVYndNb0gwV1ZnR1FuRlFyYU1INlhRIn0.zZnuUsUDzkARg31RzkhLOJCSXD5jPca8qff5IqyYrrRITgRgm29T__6gC3oOOK5RAcd_AFFYWzE8onx6Kj1w8A"
}