แนวคิดหลักของ Private Aggregation API
เอกสารนี้มีไว้สำหรับใคร
Private Aggregation API ช่วยให้ รวบรวมข้อมูลรวมจาก Worklet ที่มีสิทธิ์เข้าถึงข้อมูลข้ามเว็บไซต์ได้ แนวคิดที่แชร์ที่นี่มีความสําคัญต่อนักพัฒนาซอฟต์แวร์ที่สร้างฟังก์ชันการรายงาน ภายใน Shared Storage และ Protected Audience API
- หากคุณเป็นนักพัฒนาซอฟต์แวร์ที่สร้างระบบการรายงานสำหรับการวัดผลข้ามเว็บไซต์
- หากคุณเป็นนักการตลาด นักวิทยาศาสตร์ข้อมูล หรือผู้ใช้รายงานสรุป อื่นๆ การทําความเข้าใจกลไกเหล่านี้จะช่วยให้คุณตัดสินใจด้านการออกแบบเพื่อดึงรายงานสรุปที่เพิ่มประสิทธิภาพแล้ว
คำสำคัญ
ก่อนอ่านเอกสารนี้ คุณควรทำความคุ้นเคยกับ คำศัพท์และแนวคิดที่สำคัญ เราจะอธิบายคำศัพท์แต่ละคำอย่างละเอียดที่นี่
- คีย์การรวบรวม (หรือที่เรียกว่าที่เก็บข้อมูล) คือชุดจุดข้อมูลที่กำหนดไว้ล่วงหน้า เช่น คุณอาจต้องการ รวบรวมกลุ่มข้อมูลตำแหน่งที่เบราว์เซอร์รายงานชื่อประเทศ คีย์การรวบรวมอาจมีมิติข้อมูลมากกว่า 1 รายการ (เช่น ประเทศและรหัสของวิดเจ็ตเนื้อหา)
- ค่าที่รวบรวมได้คือจุดข้อมูลแต่ละจุด
ที่รวบรวมไว้ในคีย์การรวบรวม หากต้องการวัดจำนวนผู้ใช้
จากฝรั่งเศสที่เห็นเนื้อหาของคุณ
France
จะเป็นมิติข้อมูลใน คีย์การรวม และviewCount
ของ1
คือค่าที่รวมได้ - ระบบจะสร้างและเข้ารหัสรายงานที่รวบรวมได้ภายในเบราว์เซอร์ สำหรับ Private Aggregation API จะมีข้อมูลเกี่ยวกับเหตุการณ์เดียว
- บริการรวมข้อมูล จะประมวลผลข้อมูลจากรายงานที่รวบรวมได้เพื่อสร้างรายงานสรุป
- รายงานสรุปคือเอาต์พุตสุดท้ายของบริการรวมข้อมูล และ มีข้อมูลผู้ใช้ที่รวบรวมซึ่งมีสัญญาณรบกวนและข้อมูล Conversion โดยละเอียด
- Worklet คือส่วนหนึ่ง ของโครงสร้างพื้นฐานที่ช่วยให้คุณเรียกใช้ฟังก์ชัน JavaScript ที่เฉพาะเจาะจงและ ส่งข้อมูลกลับไปยังผู้ขอได้ ภายใน Worklet คุณจะเรียกใช้ JavaScript ได้ แต่จะโต้ตอบหรือสื่อสารกับหน้าภายนอกไม่ได้
เวิร์กโฟลว์ Private Aggregation
เมื่อเรียกใช้ Private Aggregation API ด้วยคีย์การรวมและค่าที่รวมได้ เบราว์เซอร์จะสร้างรายงานที่รวมได้ ระบบจะส่งรายงานไปยังเซิร์ฟเวอร์ที่จัดกลุ่มรายงาน จากนั้นบริการรวมข้อมูลจะประมวลผลรายงานที่จัดกลุ่มไว้ในภายหลังและสร้างรายงานสรุป

- เมื่อเรียกใช้ Private Aggregation API ไคลเอ็นต์ (เบราว์เซอร์) จะสร้าง และส่งรายงานที่รวมได้ไปยังเซิร์ฟเวอร์ของคุณเพื่อรวบรวม
- เซิร์ฟเวอร์จะรวบรวมรายงานจากไคลเอ็นต์และจัดกลุ่มรายงานเหล่านั้นเพื่อส่งไปยังบริการรวมข้อมูล
- เมื่อรวบรวมรายงานได้เพียงพอแล้ว คุณจะจัดกลุ่มและส่งรายงานไปยัง บริการรวมข้อมูลที่ทำงานในสภาพแวดล้อมการดำเนินการที่เชื่อถือได้เพื่อสร้าง รายงานสรุป
เวิร์กโฟลว์ที่อธิบายไว้ในส่วนนี้คล้ายกับ Attribution Reporting API อย่างไรก็ตาม การรายงานการระบุแหล่งที่มาจะเชื่อมโยงข้อมูลที่รวบรวมจากเหตุการณ์การแสดงผลและเหตุการณ์ Conversion ซึ่งเกิดขึ้นในเวลาที่ต่างกัน การรวบรวมข้อมูลแบบส่วนตัวจะวัดเหตุการณ์เดียวในหลายเว็บไซต์
คีย์การรวม
คีย์การรวบรวม ("คีย์" แบบย่อ) แสดงถึงที่เก็บข้อมูลที่จะสะสมค่าที่รวบรวมได้ เข้ารหัส มิติข้อมูลอย่างน้อย 1 รายการลงในคีย์ได้ มิติข้อมูลแสดงถึงแง่มุมบางอย่างที่คุณต้องการเจาะลึก ข้อมูลเชิงลึกเพิ่มเติม เช่น กลุ่มอายุของผู้ใช้หรือจํานวนการแสดงผลของแคมเปญโฆษณา
เช่น คุณอาจมีวิดเจ็ตที่ฝังอยู่ในหลายเว็บไซต์และต้องการวิเคราะห์ประเทศของผู้ใช้ที่เห็นวิดเจ็ต คุณต้องการ ตอบคำถาม เช่น "ผู้ใช้ที่เห็นวิดเจ็ตของฉันกี่คน มาจากประเทศ X" หากต้องการรายงานคำถามนี้ คุณสามารถตั้งค่าคีย์การรวม ที่เข้ารหัส 2 มิติข้อมูล ได้แก่ รหัสวิดเจ็ตและรหัสประเทศ
คีย์ที่ส่งไปยัง Private Aggregation API คือ BigInt
ซึ่งประกอบด้วยมิติข้อมูลหลายรายการ ในตัวอย่างนี้ มิติข้อมูลคือรหัสวิดเจ็ตและรหัสประเทศ สมมติว่ารหัสวิดเจ็ตมีความยาวได้สูงสุด 4 หลัก เช่น 1234
และแต่ละประเทศจะเชื่อมโยงกับตัวเลขตามลำดับตัวอักษร เช่น อัฟกานิสถานคือ 1
ฝรั่งเศสคือ 61
และซิมบับเวคือ 195
ดังนั้น คีย์ที่รวบรวมได้จะมีความยาว 7 หลัก โดยอักขระ 4 ตัวแรกจะสงวนไว้สำหรับ WidgetID
และอักขระ 3 ตัวสุดท้ายจะสงวนไว้สำหรับ CountryID
สมมติว่าคีย์แสดงจำนวนผู้ใช้จากฝรั่งเศส (รหัสประเทศ 061
)
ที่เห็นวิดเจ็ตที่มีรหัส 3276
คีย์การรวบรวมคือ 3276061
คีย์การรวม | |
รหัสวิดเจ็ต | รหัสประเทศ |
3276 | 061 |
นอกจากนี้ คุณยังสร้างคีย์การรวบรวมได้ด้วยกลไกการแฮช เช่น SHA-256 เช่น สตริง
{"WidgetId":3276,"CountryID":67}
สามารถแฮชแล้วแปลงเป็นค่า
BigInt
ของ
42943797454801331377966796057547478208888578253058197330928948081739249096287n
หากค่าแฮชมีมากกว่า 128 บิต คุณสามารถตัดค่าดังกล่าวเพื่อให้แน่ใจว่าค่าจะไม่
เกินค่าสูงสุดที่อนุญาตของที่เก็บข้อมูลซึ่งเท่ากับ 2^128−1
ภายใน Worklet ของพื้นที่เก็บข้อมูลที่แชร์ คุณจะเข้าถึงโมดูล
crypto
และ
TextEncoder
ที่ช่วยสร้างแฮชได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างแฮชได้ที่
SubtleCrypto.digest()
ใน
MDN
ตัวอย่างต่อไปนี้อธิบายวิธีสร้างคีย์ที่จัดกลุ่มจากค่าที่แฮช
async function convertToBucket(data) {
// Encode as UTF-8 Uint8Array
const encodedData = new TextEncoder().encode(data);
// Generate SHA-256 hash
const hashBuffer = await crypto.subtle.digest('SHA-256', encodedData);
// Truncate the hash
const truncatedHash = Array.from(new Uint8Array(hashBuffer, 0, 16));
// Convert the byte sequence to a decimal
return truncatedHash.reduce((acc, curr) => acc * 256n + BigInt(curr), 0n);
}
const data = {
WidgetId: 3276,
CountryID: 67
};
const dataString = JSON.stringify(data);
const bucket = await convertToBucket(dataString);
console.log(bucket); // 126200478277438733997751102134640640264n
ค่าที่รวมได้
ระบบจะรวมค่าที่รวบรวมได้ต่อคีย์ในผู้ใช้จํานวนมากเพื่อสร้างข้อมูลเชิงลึกที่รวบรวมแล้วในรูปแบบค่าสรุปในรายงานสรุป
ตอนนี้กลับไปที่คำถามตัวอย่างที่ถามไว้ก่อนหน้านี้ "ผู้ใช้ที่เห็นวิดเจ็ตของฉันมาจากฝรั่งเศสกี่คน" คำตอบของคำถามนี้จะมีลักษณะ คล้ายกับ "ผู้ใช้ประมาณ 4,881 คนที่เห็นวิดเจ็ตรหัส 3276 มาจากฝรั่งเศส" ค่าที่รวบรวมได้คือ 1 สำหรับผู้ใช้แต่ละราย และ "ผู้ใช้ 4881 ราย" คือค่าที่รวบรวมแล้วซึ่งเป็นผลรวมของค่าที่รวบรวมได้ทั้งหมดสำหรับคีย์การรวบรวมนั้น
คีย์การรวม | ค่าที่รวมได้ | |
รหัสวิดเจ็ต | รหัสประเทศ | จำนวนการดู |
3276 | 061 | 1 |
ในตัวอย่างนี้ เราจะเพิ่มค่าขึ้น 1 สำหรับผู้ใช้แต่ละรายที่เห็นวิดเจ็ต ในทางปฏิบัติ คุณสามารถปรับขนาดค่าที่รวบรวมได้เพื่อปรับปรุงอัตราส่วนสัญญาณต่อสัญญาณรบกวน
งบประมาณการมีส่วนร่วม
การเรียกใช้ Private Aggregation API แต่ละครั้งเรียกว่าการมีส่วนร่วม ระบบจะจำกัดจำนวนข้อมูลที่รวบรวมจากผู้ใช้แต่ละรายเพื่อปกป้องความเป็นส่วนตัวของผู้ใช้
เมื่อรวมค่าที่รวบรวมได้ทั้งหมดในคีย์การรวบรวมทั้งหมด ผลรวมต้อง น้อยกว่างบประมาณการมีส่วนร่วม งบประมาณจะกำหนดขอบเขตต่อ Worklet ต้นทางต่อวัน และจะ แยกกันสำหรับ Protected Audience API และ Worklet ของ Shared Storage ระบบจะใช้ช่วงเวลาต่อเนื่องประมาณ 24 ชั่วโมงที่ผ่านมาสำหรับวันนั้น หากรายงานที่รวบรวมได้ใหม่ทำให้งบประมาณเกิน ระบบจะไม่สร้างรายงาน
งบประมาณการมีส่วนร่วมแสดงด้วยพารามิเตอร์ L1 และตั้งค่าเป็น 216 (65,536) ต่อ 10 นาทีต่อวัน โดยมีขีดจำกัดสูงสุดที่ 220 (1,048,576) ดูข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์เหล่านี้ได้ที่คำอธิบาย
มูลค่างบประมาณการมีส่วนร่วมเป็นแบบกำหนดเอง แต่จะมีการปรับขนาดสัญญาณรบกวนให้สอดคล้องกับงบประมาณดังกล่าว คุณสามารถใช้งบประมาณนี้เพื่อเพิ่มอัตราส่วนสัญญาณต่อสัญญาณรบกวนในค่าสรุป (ดูรายละเอียดเพิ่มเติมได้ในส่วนสัญญาณรบกวนและการปรับขนาด)
ดูข้อมูลเพิ่มเติมเกี่ยวกับงบประมาณการสนับสนุนได้ในคำอธิบาย นอกจากนี้ โปรดดูงบประมาณ การมีส่วนร่วมเพื่อ ดูคำแนะนำเพิ่มเติม
ขีดจำกัดของการมีส่วนร่วมต่อรายงาน
ขีดจำกัดการบริจาคอาจแตกต่างกันไปตามผู้โทร และสำหรับ Shared Storage ขีดจำกัดเหล่านี้เป็นค่าเริ่มต้นที่ลบล้างได้ ขณะนี้ รายงานที่สร้างขึ้นสำหรับผู้เรียกใช้ Shared Storage API จะจำกัดไว้ที่ 20 รายการ ต่อรายงาน ในทางกลับกัน ผู้เรียกใช้ Protected Audience API จะมีขีดจํากัดอยู่ที่ 100 การมีส่วนร่วมต่อรายงาน เราเลือกขีดจำกัดเหล่านี้เพื่อรักษาสมดุลระหว่างจำนวน การมีส่วนร่วมที่ฝังได้กับขนาดของเพย์โหลด
สำหรับพื้นที่เก็บข้อมูลที่ใช้ร่วมกัน ระบบจะจัดกลุ่มการมีส่วนร่วมภายในrun()
หรือselectURL()
การดำเนินการเดียวไว้ในรายงานเดียว สำหรับ Protected Audience ระบบจะจัดกลุ่มการมีส่วนร่วม
ที่ต้นทางเดียวทําในการประมูล
การร่วมให้ข้อมูลที่มีการเว้นวรรค
นอกจากนี้ ระบบยังแก้ไขผลงานเพิ่มเติมด้วยฟีเจอร์การเว้นวรรค การเพิ่มข้อมูล
ในเพย์โหลดจะช่วยปกป้องข้อมูลเกี่ยวกับจำนวนการมีส่วนร่วมที่แท้จริง
ซึ่งฝังอยู่ในรายงานที่รวบรวมได้ การเพิ่มแพดดิ้งจะเพิ่มเพย์โหลดด้วยnull
การมีส่วนร่วม (เช่น มีค่าเป็น 0) เพื่อให้มีความยาวคงที่
รายงานที่รวบรวมได้
เมื่อผู้ใช้เรียกใช้ Private Aggregation API เบราว์เซอร์จะสร้าง
รายงานที่รวมได้เพื่อให้บริการรวมข้อมูลประมวลผลในภายหลัง
เพื่อสร้างรายงานสรุป รายงานที่รวบรวมได้อยู่ในรูปแบบ JSON และมีรายการการมีส่วนร่วมที่เข้ารหัส
โดยแต่ละรายการเป็นคู่ {aggregation key, aggregatable value}
ระบบจะส่งรายงานที่รวบรวมได้โดยมีการหน่วงเวลาแบบสุ่มไม่เกิน 1 ชั่วโมง
การมีส่วนร่วมจะได้รับการเข้ารหัสและอ่านไม่ได้ภายนอกบริการรวมข้อมูล บริการรวบรวมข้อมูลจะถอดรหัสรายงานและสร้างรายงานสรุป คีย์การเข้ารหัสสำหรับเบราว์เซอร์และคีย์การถอดรหัสสำหรับบริการรวมข้อมูล จะออกโดยผู้ประสานงาน ซึ่งทำหน้าที่เป็นบริการจัดการคีย์ ผู้ประสานงานจะเก็บรายการแฮชไบนารีของรูปภาพบริการไว้เพื่อยืนยัน ว่าผู้โทรได้รับอนุญาตให้รับคีย์การถอดรหัส
ตัวอย่างรายงานที่รวบรวมได้เมื่อเปิดใช้โหมด การแก้ไขข้อบกพร่อง
"aggregation_service_payloads": [
{
"debug_cleartext_payload": "omRkYXRhgaJldmFsdWVEAAAAgGZidWNrZXRQAAAAAAAAAAAAAAAAAAAE0mlvcGVyYXRpb25paGlzdG9ncmFt",
"key_id": "2cc72b6a-b92f-4b78-b929-e3048294f4d6",
"payload": "a9Mk3XxvnfX70FsKrzcLNZPy+00kWYnoXF23ZpNXPz/Htv1KCzl/exzplqVlM/wvXdKUXCCtiGrDEL7BQ6MCbQp1NxbWzdXfdsZHGkZaLS2eF+vXw2UmLFH+BUg/zYMu13CxHtlNSFcZQQTwnCHb"
}
],
"debug_key": "777",
"shared_info": "{\"api\":\"shared-storage\",\"debug_mode\":\"enabled\",\"report_id\":\"5bc74ea5-7656-43da-9d76-5ea3ebb5fca5\",\"reporting_origin\":\"https://localhost:4437\",\"scheduled_report_time\":\"1664907229\",\"version\":\"0.1\"}"
คุณตรวจสอบรายงานที่รวบรวมได้จากหน้า
chrome://private-aggregation-internals

สำหรับการทดสอบ คุณสามารถใช้ปุ่ม "ส่งรายงานที่เลือก" เพื่อส่งรายงานไปยังเซิร์ฟเวอร์ได้ทันที
รวบรวมและจัดกลุ่มรายงานที่รวบรวมได้
เบราว์เซอร์จะส่งรายงานที่รวบรวมได้ไปยังต้นทางของ Worklet ที่มีการเรียก Private Aggregation API โดยใช้เส้นทางที่รู้จักกันดีซึ่งระบุไว้ ดังนี้
- สำหรับ Shared Storage
/.well-known/private-aggregation/report-shared-storage
- สำหรับ Protected Audience ให้ทำดังนี้
/.well-known/private-aggregation/report-protected-audience
ที่ปลายทางเหล่านี้ คุณจะต้องใช้งานเซิร์ฟเวอร์ซึ่งทำหน้าที่เป็นตัวรวบรวม ที่รับรายงานแบบรวมที่ส่งจากไคลเอ็นต์
จากนั้นเซิร์ฟเวอร์ควรรวบรวมรายงานเป็นกลุ่มและส่งกลุ่มไปยังบริการรวมข้อมูล
สร้างกลุ่มตามข้อมูลที่มีอยู่ในเพย์โหลดที่ไม่ได้เข้ารหัส
ของรายงานที่รวบรวมได้ เช่น ฟิลด์ shared_info
ในอุดมคติ
แต่ละกลุ่มควรมีรายงานอย่างน้อย 100 รายการ
คุณอาจเลือกจัดกลุ่มเป็นรายวันหรือรายสัปดาห์ กลยุทธ์นี้มีความยืดหยุ่น และคุณสามารถเปลี่ยนกลยุทธ์การจัดกลุ่มสำหรับเหตุการณ์ที่เฉพาะเจาะจงซึ่งคาดว่าจะมีปริมาณมากขึ้นได้ เช่น วันของปีที่คาดว่าจะมีการแสดงผลมากขึ้น กลุ่มควรมีรายงานจาก API เวอร์ชันเดียวกัน แหล่งที่มาของการรายงาน และ เวลาที่กำหนดของรายงาน
รหัสตัวกรอง
Private Aggregation API และ Aggregation Service อนุญาตให้ใช้รหัสการกรองเพื่อ ประมวลผลการวัดในระดับที่ละเอียดยิ่งขึ้น เช่น ต่อแคมเปญโฆษณา แทนที่จะประมวลผลผลลัพธ์ในคําค้นหาขนาดใหญ่

หากต้องการเริ่มใช้ฟีเจอร์นี้วันนี้ ให้ทำตามขั้นตอนคร่าวๆ ต่อไปนี้เพื่อนำไปใช้กับการติดตั้งใช้งานปัจจุบัน
ขั้นตอน Shared Storage
หากคุณใช้ Shared Storage API ในโฟลว์ ให้ทำดังนี้
กำหนดตำแหน่งที่คุณจะประกาศและเรียกใช้โมดูล Shared Storage ใหม่ ในตัวอย่างต่อไปนี้ เราได้ตั้งชื่อไฟล์โมดูลเป็น
filtering-worklet.js
ซึ่งลงทะเบียนไว้ภายใต้filtering-example
(async function runFilteringIdsExample () { await window.sharedStorage.worklet.addModule('filtering-worklet.js'); await window.sharedStorage.run('filtering-example', { keepAlive: true, privateAggregationConfig: { contextId: 'example-id', filteringIdMaxBytes: 8 // optional } }}); })();
โปรดทราบว่า
filteringIdMaxBytes
สามารถกำหนดค่าต่อรายงานได้ และหากไม่ได้ตั้งค่าไว้ ค่าเริ่มต้นจะเป็น 1 ค่าเริ่มต้นนี้มีไว้เพื่อป้องกันไม่ให้เพิ่มขนาด Payload โดยไม่จำเป็น ซึ่งจะส่งผลต่อค่าใช้จ่ายในการจัดเก็บและการประมวลผล อ่านเพิ่มเติม ในคำอธิบายเกี่ยวกับ การมีส่วนร่วมแบบยืดหยุ่นใน
filtering-worklet.js
เมื่อคุณ ส่งการสนับสนุนไปยังprivateAggregation.contributeToHistogram(...)
ภายใน Worklet ของพื้นที่เก็บข้อมูลที่ใช้ร่วมกัน คุณจะระบุรหัสการกรองได้// Within filtering-worklet.js class FilterOperation { async run() { let contributions = [{ bucket: 1234n, value: 56, filteringId: 3n // defaults to 0n if not assigned, type bigint }]; for (const c of contributions) { privateAggregation.contributeToHistogram(c); } … } }); register('filtering-example', FilterOperation);
ระบบจะส่งรายงานที่รวบรวมได้ไปยังตำแหน่งที่คุณกำหนดปลายทาง
/.well-known/private-aggregation/report-shared-storage
ไปที่คู่มือการกรองรหัส เพื่อดูข้อมูลเกี่ยวกับการเปลี่ยนแปลงที่จำเป็นในพารามิเตอร์ของงานบริการรวบรวมข้อมูล
หลังจากจัดกลุ่มเสร็จสมบูรณ์และส่งไปยังบริการรวมข้อมูลที่ติดตั้งใช้งานแล้ว ผลลัพธ์ที่กรองแล้วควรแสดงในรายงานสรุปสุดท้าย
ขั้นตอนของ Protected Audience
หากคุณใช้ Protected Audience API ในโฟลว์ ให้ทำดังนี้
ในการใช้งาน Protected Audience ปัจจุบัน คุณสามารถตั้งค่า รายการต่อไปนี้เพื่อเชื่อมต่อกับ Private Aggregation คุณยังกำหนดค่าขนาดสูงสุดของรหัสการกรองไม่ได้ ซึ่งต่างจากพื้นที่เก็บข้อมูลที่แชร์ โดยค่าเริ่มต้น ขนาดสูงสุดของรหัสการกรองคือ 1 ไบต์ และจะตั้งค่าเป็น
0n
โปรดทราบว่า ค่าเหล่านี้จะตั้งค่าในฟังก์ชันการรายงาน Protected Audience (เช่นreportResult()
หรือgenerateBid()
)const contribution = { ... filteringId: 0n }; privateAggregation.contributeToHistogram(contribution);
ระบบจะส่งรายงานที่รวบรวมได้ไปยังตำแหน่งที่คุณกำหนดปลายทาง
/.well-known/private-aggregation/report-protected-audience
หลังจากจัดกลุ่ม เสร็จสมบูรณ์และส่งไปยังบริการรวมข้อมูลที่ติดตั้งใช้งานแล้ว ผลลัพธ์ที่กรองแล้ว ควรแสดงในรายงานสรุปสุดท้าย คำอธิบายต่อไปนี้สำหรับ Attribution Reporting API และ Private Aggregation API พร้อมใช้งานแล้ว รวมถึงข้อเสนอเริ่มต้น
โปรดดูคู่มือการกรองรหัสในบริการการรวบรวม หรือไปที่ส่วนAttribution Reporting API เพื่ออ่านรายละเอียดเพิ่มเติม
บริการรวมข้อมูล

บริการรวมข้อมูลจะรับรายงานที่รวบรวมได้ที่เข้ารหัสจากเครื่องมือรวบรวมข้อมูลและสร้างรายงานสรุป ดูกลยุทธ์เพิ่มเติมเกี่ยวกับวิธีสร้างรายงานที่รวมได้แบบเป็นกลุ่มในเครื่องมือรวบรวมได้ที่คู่มือการจัดกลุ่ม
บริการนี้ทำงานในสภาพแวดล้อมการดำเนินการที่เชื่อถือได้ (TEE) ซึ่งให้ ระดับความมั่นใจสำหรับความสมบูรณ์ของข้อมูล ความเป็นส่วนตัวของข้อมูล และความสมบูรณ์ของโค้ด หากต้องการดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีใช้ผู้ประสานงานร่วมกับ TEE โปรดอ่านเพิ่มเติมเกี่ยวกับบทบาทและ วัตถุประสงค์
รายงานสรุป
รายงานสรุป ช่วยให้คุณเห็นข้อมูลที่รวบรวมไว้โดยมีการเพิ่มสัญญาณรบกวน คุณขอรายงานสรุปสำหรับชุดคีย์ที่ต้องการได้
รายงานสรุปมีชุดคู่คีย์-ค่าในรูปแบบพจนานุกรม JSON แต่ละคู่ประกอบด้วย
bucket
: คีย์การรวบรวมเป็นสตริงตัวเลขฐาน 2 หาก คีย์การรวมที่ใช้คือ "123" บัคเก็ตจะเป็น "1111011"value
: ค่าสรุปสำหรับเป้าหมายการวัดผลที่กําหนด ซึ่งรวมจากรายงานที่รวบรวมได้ทั้งหมดที่มีการเพิ่มสัญญาณรบกวน
เช่น
[
{"bucket":` `"111001001",` `"value":` `"2558500"},
{"bucket":` `"111101001",` `"value":` `"3256211"},
{"bucket":` `"111101001",` `"value":` `"6536542"},
]
สัญญาณรบกวนและการปรับขนาด
บริการรวมข้อมูลจะเพิ่มสัญญาณรบกวน 1 ครั้งในแต่ละค่าสรุปทุกครั้งที่มีการขอรายงานสรุป เพื่อรักษาความเป็นส่วนตัวของผู้ใช้ ค่าสัญญาณรบกวนจะ สุ่มจากการแจกแจงความน่าจะเป็นแบบลาปลาซ แม้ว่าคุณจะ ควบคุมวิธีเพิ่มสัญญาณรบกวนโดยตรงไม่ได้ แต่ก็สามารถกำหนดผลกระทบ ของสัญญาณรบกวนต่อข้อมูลการวัดได้
การกระจายสัญญาณรบกวนจะเหมือนกันไม่ว่าผลรวมของค่าที่รวบรวมได้ทั้งหมดจะเป็นเท่าใดก็ตาม ดังนั้นยิ่งค่าที่รวบรวมได้สูงเท่าใด ผลกระทบจากความผันผวนก็จะยิ่งน้อยลงเท่านั้น
ตัวอย่างเช่น สมมติว่าการกระจายสัญญาณรบกวนมีค่าเบี่ยงเบนมาตรฐานเท่ากับ 100 และมีค่ากึ่งกลางอยู่ที่ 0 หากค่ารายงานที่รวบรวมได้ (หรือ "ค่าที่รวบรวมได้") มีเพียง 200 ค่าเบี่ยงเบนมาตรฐานของสัญญาณรบกวนจะเป็น 50% ของค่าที่รวบรวม แต่หากค่าที่รวบรวมได้คือ 20,000 ค่าเบี่ยงเบนมาตรฐานของ สัญญาณรบกวนจะคิดเป็นเพียง 0.5% ของค่าที่รวบรวมได้ ดังนั้น ค่าที่รวบรวมได้ 20,000 จึงมีอัตราส่วนสัญญาณต่อสัญญาณรบกวนสูงกว่ามาก
ดังนั้น การคูณค่าที่รวบรวมได้ด้วยค่าตัวคูณมาตราส่วนจะช่วย ลดสัญญาณรบกวน ปัจจัยการปรับขนาดแสดงจำนวนที่คุณต้องการปรับขนาดค่าที่รวบรวมได้

การปรับค่าขึ้นโดยเลือกปัจจัยการปรับขนาดที่ใหญ่ขึ้นจะช่วยลดสัญญาณรบกวนที่เกี่ยวข้อง อย่างไรก็ตาม การดำเนินการนี้ยังทำให้ผลรวมของการมีส่วนร่วมทั้งหมดในทุกกลุ่ม ถึงขีดจำกัดงบประมาณสำหรับการมีส่วนร่วมเร็วขึ้นด้วย การลดค่าลงโดย การเลือกค่าคงที่ของปัจจัยการปรับขนาดที่เล็กลงจะเพิ่มสัญญาณรบกวนที่เกี่ยวข้อง แต่จะลด ความเสี่ยงในการใช้งบประมาณจนถึงขีดจำกัด

หากต้องการคำนวณปัจจัยการปรับขนาดที่เหมาะสม ให้หารงบประมาณการสนับสนุนด้วย ผลรวมสูงสุดของค่าที่รวบรวมได้ในคีย์ทั้งหมด
ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบเกี่ยวกับงบประมาณการมีส่วนร่วม
มีส่วนร่วมและแชร์ความคิดเห็น
Private Aggregation API อยู่ระหว่างการหารืออย่างต่อเนื่องและอาจมีการเปลี่ยนแปลงในอนาคต หากคุณลองใช้ API นี้และมีความคิดเห็น เรายินดีรับฟัง
- GitHub: อ่านคำอธิบาย
ถามคำถามและเข้าร่วมการสนทนา
- การสนับสนุนนักพัฒนาแอป: ถามคำถามและเข้าร่วมการสนทนาใน ที่เก็บการสนับสนุนนักพัฒนาแอป Privacy Sandbox
- เข้าร่วมกลุ่ม Shared Storage API และกลุ่ม Protected Audience API เพื่อรับ ประกาศล่าสุดที่เกี่ยวข้องกับการรวมข้อมูลแบบส่วนตัว