Chạy một worklet Bộ nhớ dùng chung để chọn một URL và hiển thị URL đó trong một khung được phân vùng.
Shared Storage API là một đề xuất của 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ể xảy ra. Một ví dụ là tính năng kiểm soát tần suất. Bạn có thể kiểm thử tính năng này trong Chrome Beta 104.0.5086.0 trở lên.
Chạy một tập lệnh worklet để chọn một URL trong danh sách được cung cấp, dựa trên dữ liệu được lưu trữ, rồi hiển thị URL đó trong một khung được phân vùng. Bạn có thể dùng tham số này để chọn quảng cáo mới hoặc nội dung khác khi đạt đến giới hạn tần suất.
Kiểm tra lựa chọn mẫu quảng cáo theo tần suất
Để kiểm thử lựa chọn mẫu quảng cáo theo tần suất bằng Shared Storage và Fenced Frames, hãy xác nhận rằng bạn đang sử dụng Chrome 104.0.5086.0 trở lên. Bật tất cả cá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
Để chọn và tạo một URL mờ, hãy đăng ký một mô-đun worklet để đọc dữ liệu bộ nhớ dùng chung. Lớp worklet nhận một danh sách gồm tối đa 8 URL, sau đó trả về chỉ mục của URL được chọn.
Khi ứng dụng gọi sharedStorage.selectURL(), worklet sẽ thực thi và trả về một URL mờ để hiển thị trong một khung được rào chắn.
Giả sử bạn muốn chọn một quảng cáo hoặc nội dung khác để hiển thị dựa trên tần suất người dùng đã xem quảng cáo hoặc nội dung đó trước đây. Bạn có thể đếm số lần người dùng đã xem một nội dung và lưu trữ giá trị đó vào bộ nhớ dùng chung. Sau khi được lưu trữ, giá trị trong bộ nhớ dùng chung sẽ có sẵn cho bạn trên nhiều nguồn gốc.
Sau đó, worklet lưu trữ dùng chung sẽ đọc các giá trị trong bộ nhớ dùng chung và tăng bộ đếm với mỗi lượt xem bổ sung. Nếu số lượng chưa đạt đến giới hạn được xác định trước, thì nội dung bạn muốn hiển thị sẽ được trả về (chỉ mục 1). Nếu không, URL mặc định sẽ được trả về (chỉ mục 0).
Trong ví dụ này:
creative-selection-by-frequencyjsđược tải thông qua iframe của nhà sản xuất nội dung hoặc nhà quảng cáo, đồng thời chịu trách nhiệm tải worklet bộ nhớ dùng chung và hiển thị nguồn mờ đã trả về trong một khung được giới hạn.creative-selection-by-frequency-worklet.jslà worklet bộ nhớ dùng chung đọc số lượt truy cập để xác định URL nào được trả về cho nội dung hoặc mẫu quảng cáo.
creative-selection-by-frequency.js
// The first URL is the default content or ad to be rendered when the frequency limits reached.
const CONTENT_URLS = [
{ url: `https://${contentProducerUrl}/default-content.html` },
{ url: `https://${contentProducerUrl}/example-content.html` },
];
async function injectAd() {
// Load the worklet module.
await window.sharedStorage.worklet.addModule('creative-selection-by-frequency-worklet.js');
// Set the initial frequency count
window.sharedStorage.set('frequency-count', 0, {
ignoreIfPresent: true,
});
// Run the URL selection operation to choose an ad based on the frequency count in shared storage.
const fencedFrameConfig = await window.sharedStorage.selectURL('creative-selection-by-frequency', CONTENT_URLS, {
resolveToConfig: true
});
// Render the opaque URL into a fenced frame
document.getElementById('content-slot').config = fencedFrameConfig;
}
injectAd();
creative-selection-by-frequency-worklet.js
const FREQUENCY_LIMIT = 5;
class CreativeSelectionByFrequencyOperation {
async run(urls, data) {
// Read the current frequency limit in shared storage
const count = parseInt(await sharedStorage.get('frequency-count'));
// Check if the frequency limit has been reached.
if (count === FREQUENCY_LIMIT) {
console.log('Frequency limit has been reached, and the default content will be rendered.');
return 0;
}
// Set the new frequency count in shared storage
await sharedStorage.set('frequency-count', count + 1);
return 1;
}
}
// Register the operation as 'creative-selection-by-frequency'.
register('creative-selection-by-frequency', CreativeSelectionByFrequencyOperation);
Trường hợp sử dụng
Bạn có thể xem tất cả các trường hợp sử dụng hiện có cho API Chọn URL trong phần này. Chúng tôi sẽ tiếp tục thêm ví dụ khi nhận được ý kiến phản hồi và khám phá các trường hợp kiểm thử mới.
- Xoay vòng mẫu quảng cáo: Lưu trữ dữ liệu, chẳng hạn như mã mẫu quảng cáo và lượt tương tác của người dùng, để xác định mẫu quảng cáo mà người dùng nhìn thấy trên các trang web.
- Chọn mẫu quảng cáo theo tần suất: Sử dụng dữ liệu về số lượt xem để xác định mẫu quảng cáo mà người dùng nhìn thấy trên các trang web.
- Chạy thử nghiệm A/B: Bạn có thể chỉ định người dùng cho một nhóm thử nghiệm, sau đó lưu trữ nhóm đó trong Bộ nhớ dùng chung để truy cập trên nhiều trang web.
- Tuỳ chỉnh trải nghiệm cho khách hàng đã biết: Chia sẻ nội dung tuỳ chỉnh và lời kêu gọi hành động dựa trên trạng thái đăng ký của người dùng hoặc các trạng thái khác của người dùng.
Tương tác và chia sẻ ý kiến phản hồi
Xin lưu ý rằng đề xuất về Select URL API đang được thảo luận và phát triển tích cực, vì vậy, đề xuất này có thể thay đổi.
Chúng tôi rất mong được biết ý kiến của bạn về Select URL API.
- Đề xuất: Xem xét đề 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ẻ hiểu biết của bạn.