بسیاری از تولیدکنندگان محتوا و تبلیغکنندگان میخواهند بدانند که چند نفر منحصر به فرد محتوای آنها را دیدهاند. از Shared Storage برای ثبت اولین باری که یک کاربر تبلیغ، ویدیوی جاسازی شده یا انتشار شما را دیده است استفاده کنید و از شمارش تکراری همان کاربر در سایتهای مختلف جلوگیری کنید. سپس میتوانید از Private Aggregation API برای خروجی گرفتن یک گزارش خلاصه برای مخاطبان خود استفاده کنید.
API ذخیرهسازی مشترک (Shared Storage API) یک پیشنهاد Privacy Sandbox برای ذخیرهسازی چندمنظوره و بین سایتی است که از بسیاری از موارد استفاده ممکن پشتیبانی میکند. API تجمیع خصوصی (Private Aggregation API ) یک خروجی موجود در ذخیرهسازی مشترک است که به شما امکان میدهد دادههای چند سایتی را تجمیع کنید. برای کسب اطلاعات بیشتر در مورد روشهای پیادهسازی این اندازهگیریها، به گزارش رسمی ما در مورد دسترسی (reach whitepaper) مراجعه کنید.
اندازهگیری منحصر به فرد دسترسی را امتحان کنید
برای آزمایش اندازهگیری دسترسی منحصر به فرد با Shared Storage و Private Aggregation، تأیید کنید که از Chrome M107 یا بالاتر استفاده میکنید. تمام APIهای حریم خصوصی تبلیغات را در chrome://settings/adPrivacy فعال کنید.
همچنین میتوانید Shared Storage را با استفاده از پرچم --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames در خط فرمان فعال کنید.
با نمونه کدها آزمایش کنید
شاید بخواهید تعداد کاربران منحصر به فردی که محتوای شما را در سایتهای مختلف دیدهاند را پیگیری کنید. در این مثال، بُعد شناسه محتوا در کلید تجمیع (bucket) کدگذاری شده است و تعداد به عنوان مقدار قابل تجمیع استفاده میشود. گزارش خلاصه شامل اطلاعاتی مانند "تقریباً 391 کاربر محتوای با شناسه 123 را دیدهاند" خواهد بود.
در این مثال:
-
unique-reach-measurement.jsبا استفاده از یک فریم بارگذاری میشود و مسئول بارگذاری worklet ذخیرهسازی مشترک است. -
unique-reach-measurement-worklet.jsیک worklet ذخیرهسازی مشترک است که flag را در فضای ذخیرهسازی مشترک بررسی میکند و با استفاده از API تجمیع خصوصی، گزارشی ارسال میکند.
async function measureUniqueReach() {
// Load the Shared Storage worklet
await window.sharedStorage.worklet.addModule('reach-measurement-worklet.js');
// Run the reach measurement operation
await window.sharedStorage.run('reach-measurement', { data: { contentId: '1234' } });
}
measureUniqueReach();
// Learn more about noise and scaling from the Private Aggregation fundamentals
// documentation on Chrome blog
const SCALE_FACTOR = 65536;
function convertContentIdToBucket(contentId) {
return BigInt(contentId);
}
class ReachMeasurementOperation {
async run(data) {
const { contentId } = data;
// Read from Shared Storage
const key = 'has-reported-content';
const hasReportedContent = (await sharedStorage.get(key)) === 'true';
// Don't report if a report has been sent already
if (hasReportedContent) {
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(key, true);
}
}
// Register the operation
register('reach-measurement', ReachMeasurementOperation);
مشارکت کنید و بازخورد خود را به اشتراک بگذارید
توجه داشته باشید که پیشنهاد API ذخیرهسازی مشترک (Shared Storage API) در دست بحث و توسعه فعال است و بنابراین ممکن است تغییر کند.
مشتاقانه منتظر شنیدن نظرات شما در مورد API ذخیرهسازی مشترک هستیم.
- پیشنهاد : بررسی جزئیات پیشنهاد .
- بحث : برای پرسیدن سوال و به اشتراک گذاشتن بینشهایتان، به بحث جاری بپیوندید.