يريد العديد من صنّاع المحتوى والمعلنين معرفة عدد الأشخاص الفريدِين الذين شاهدوا المحتوى الخاص بهم. استخدِم Shared Storage API لتسجيل المرة الأولى التي شاهد فيها المستخدِم إعلانك أو الفيديو المضمّن أو النشر، ومنع احتساب هذا المستخدِم نفسه بشكلٍ مكرّر على مواقع إلكترونية مختلفة. يمكنك بعد ذلك استخدام Private Aggregation API لعرض تقرير تلخيصي لمستوى وصولك إلى الجمهور.
Shared Storage API هي اقتراح من "مبادرة حماية الخصوصية" لمساحة تخزين عامة على مستوى المواقع الإلكترونية، وهي تتوافق مع العديد من حالات الاستخدام المحتملة. Private Aggregation API هي واجهة برمجة تطبيقات متاحة في Shared Storage تتيح لك تجميع البيانات على مستوى المواقع الإلكترونية. لمزيد من المعلومات عن طرق تنفيذ هذه القياسات، يمكنك الاطّلاع على التقرير الموجز عن مدى الوصول.
تجربة قياس مدى الوصول الفريد
لتجربة قياس مدى الوصول الفريد باستخدام Shared Storage وPrivate Aggregation، تأكَّد من استخدام الإصدار M107 من Chrome أو الإصدارات الأحدث. فعِّل جميع واجهات برمجة التطبيقات "للخصوصية في عرض الإعلانات" ضمن chrome://settings/adPrivacy
.
يمكنك أيضًا تفعيل ميزة "مساحة التخزين المشتركة" باستخدام العلامة --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames
في سطر الأوامر.
تجربة عيّنات الرموز البرمجية
قد تحتاج إلى تتبُّع عدد المستخدِمين الفرديين الذين شاهدوا المحتوى الخاص بك على مواقع إلكترونية مختلفة. في هذا المثال، يتم ترميز سمة معرّف المحتوى في مفتاح التجميع (الحزمة)، ويتم استخدام العدد كقيمة قابلة للتجميع. سيتضمّن التقرير التلخيصي معلومات مثل "شاهد 391 مستخدمًا تقريبًا محتوى رقم التعريف 123".
في هذا المثال:
- يتم تحميل
unique-reach-measurement.js
باستخدام إطار، وهو مسؤول عن تحميل وحدة تخزين السحابي المشتركة. unique-reach-measurement-worklet.js
هي وحدة عمل مساحة التخزين المشتركة التي تتحقّق من العلامة في مساحة التخزين المشتركة وتُرسِل تقريرًا باستخدام Private Aggregation 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);
التفاعل مع الملاحظات ومشاركتها
يُرجى العِلم أنّ اقتراح Shared Storage API قيد المناقشة والتطوير بشكل نشط، وبالتالي يخضع للتغيير.
يسرّنا معرفة رأيك بشأن Shared Storage API.
- العرض: راجِع العرض التفصيلي.
- المناقشة: يمكنك الانضمام إلى المناقشة الجارية لطرح الأسئلة ومشاركة الإحصاءات.
الاطّلاع على آخر الأخبار
- القائمة البريدية: يمكنك الاشتراك في قائمتنا البريدية لتلقّي آخر الأخبار والإشعارات المتعلّقة بواجهة برمجة التطبيقات Shared Storage API.
هل أنت بحاجة إلى مساعدة؟
- دعم المطوّرين: يمكنك التواصل مع مطوّرين آخرين والحصول على إجابات عن أسئلتك في مستودع دعم المطوّرين في "مبادرة حماية الخصوصية".