Đôi khi được mô tả là "tần suất hiệu quả", thường có một số lượt xem tối thiểu trước khi người dùng nhận ra hoặc nhớ lại một số nội dung nhất định (thường là trong bối cảnh lượt xem quảng cáo). Bạn có thể sử dụng Bộ nhớ dùng chung để tạo báo cáo về những người dùng riêng biệt đã xem một nội dung ít nhất K lần.
Shared Storage API là một đề xuất Hộp cát về quyền riêng tư cho bộ nhớ đa dụng, trên nhiều trang web, hỗ trợ nhiều trường hợp sử dụng có thể có. Private Aggregation API là một đầu ra có trong Shared Storage, cho phép bạn tổng hợp dữ liệu trên nhiều trang web.
Thử đo lường tần suất K+
Để thử nghiệm tính năng đo lường tần suất K+ bằng Shared Storage và Private Aggregation, hãy xác nhận rằng bạn đang sử dụng Chrome M107 trở lên. Bật tất cả API Quyền riêng tư trong quảng cáo trong chrome://settings/adPrivacy
.
Bạn cũng có thể bật Bộ nhớ dùng chung bằng cờ --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames
trong dòng lệnh.
Thử nghiệm với mã mẫu
Bạn có thể muốn đo lường số người dùng đã xem nội dung của bạn K lần trở lên trên một khách hàng cụ thể trên nhiều trang web. Trong ví dụ này, số lượt hiển thị được thêm vào bộ nhớ dùng chung và tăng thêm 1 mỗi khi nội dung được tải. Khi số lượt hiển thị đạt đến 3, Private Aggregation API sẽ được gọi. Phương diện mã nhận dạng nội dung được mã hoá dưới dạng khoá tổng hợp và số lượng được dùng làm giá trị tổng hợp. Báo cáo tóm tắt sẽ cung cấp thông tin như "Khoảng 391 người dùng đã xem mã chiến dịch quảng cáo 123 ít nhất 3 lần".
Trong ví dụ này:
k-frequency-measurement.js
được tải bằng khung và chịu trách nhiệm tải công cụ lưu trữ dùng chung.k-frequency-measurement-worklet.js
là công cụ lưu trữ dùng chung đọc số lượt hiển thị trong bộ nhớ dùng chung và gửi báo cáo bằng Private Aggregation API.
k-frequency-measurement.js
async function injectContent() {
// Load the Shared Storage worklet
await window.sharedStorage.worklet.addModule('k-freq-measurement-worklet.js');
// Run the K-frequency measurement operation
await window.sharedStorage.run('k-freq-measurement', { data: { kFreq: 3, contentId: 123 });
}
injectContent();
kuency-measurement-worklet.js
// Learn more about noise and scaling from the Private Aggregation fundamentals
// documentation on Chrome blog
const SCALE_FACTOR = 65536;
/**
* The bucket key must be a number, and in this case, it is just the content
* ID itself. For more complex bucket key construction, see other use cases in
* this demo.
*/
function convertContentIdToBucket(contentId) {
return BigInt(contentId);
}
class KFreqMeasurementOperation {
async run(data) {
const { kFreq, contentId } = data;
// Read from Shared Storage
const hasReportedContentKey = 'has-reported-content';
const impressionCountKey = 'impression-count';
const hasReportedContent = (await sharedStorage.get(hasReportedContentKey)) === 'true';
const impressionCount = parseInt((await sharedStorage.get(impressionCountKey)) || 0);
// Don't report if a report has been sent already
if (hasReportedContent) {
return;
}
// Check impression count against frequency limit
if (impressionCount < kFreq) {
await sharedStorage.set(impressionCountKey, impressionCount + 1);
return;
}
// Generate the aggregation key and the aggregatable value
const bucket = convertContentIdToBucket(contentId);
const value = 1 * SCALE_FACTOR;
// Send an aggregatable report using the Private Aggregation API
privateAggregation.contributeToHistogram({ bucket, value });
// Set the report submission status flag
await sharedStorage.set(hasReportedContentKey, 'true');
}
}
// Register the operation
register('k-freq-measurement', KFreqMeasurementOperation); \
Tương tác và chia sẻ ý kiến phản hồi
Xin lưu ý rằng đề xuất về API Bộ nhớ dùng chung đang được thảo luận và phát triển tích cực, do đó có thể thay đổi.
Chúng tôi rất mong được nghe ý kiến của bạn về Shared Storage API.
- Đề xuất: Xem lại đề xuất chi tiết.
- Thảo luận: Tham gia cuộc thảo luận đang diễn ra để đặt câu hỏi và chia sẻ thông tin chi tiết của bạn.
Luôn nắm thông tin mới nhất
- Danh sách gửi thư: Đăng ký nhận danh sách gửi thư của chúng tôi để biết thông tin cập nhật và thông báo mới nhất liên quan đến Shared Storage API.
Bạn cần được trợ giúp?
- Hỗ trợ nhà phát triển: Kết nối với các nhà phát triển khác và nhận câu trả lời cho thắc mắc của bạn trong Kho lưu trữ hỗ trợ nhà phát triển Hộp cát về quyền riêng tư.