يرغب العديد من منتجي المحتوى والمعلنين في معرفة عدد الأشخاص الفريدين الذين شاهدوا المحتوى الخاص بهم. استخدِم مساحة التخزين المشتركة لتسجيل أول مرة شاهد فيها المستخدم إعلانك أو فيديو مضمّنًا أو جهة نشر إعلانك، ومنع الاحتساب المتكرر للمستخدم نفسه على مواقع إلكترونية مختلفة. ويمكنك بعد ذلك استخدام Private Aggregation API للحصول على تقرير ملخّص لمدى وصولك.
إنّ Shared Storage API هي اقتراح يوفّر "مبادرة حماية الخصوصية" لتخزين البيانات على عدة مواقع إلكترونية لأغراض عامة، ويتوافق مع العديد من حالات الاستخدام المحتملة. Private Aggregation API عبارة عن مخرجات متوفرة في مساحة التخزين المشتركة تسمح لك بتجميع البيانات من مواقع إلكترونية متعددة.
تجربة قياس مدى الوصول الفريد
لتجربة قياس مدى الوصول الفريد من خلال مساحة التخزين المشتركة والتجميع الخاص، تأكَّد من استخدام الإصدار M107 من Chrome أو إصدار أحدث. تفعيل جميع واجهات برمجة تطبيقات الخصوصية في عرض الإعلانات ضمن "chrome://settings/adPrivacy
"
يمكنك أيضًا تفعيل "مساحة التخزين المشتركة" باستخدام العلامة --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames
في سطر الأوامر.
اختبار نماذج الرموز
قد تحتاج إلى تتبع عدد المستخدمين الفريدين الذين شاهدوا المحتوى التابع لك عبر مواقع مختلفة. في هذا المثال، يتم ترميز سمة Content ID في مفتاح التجميع (الحزمة)، ويتم استخدام العدد كقيمة قابلة للتجميع. سيحتوي التقرير الموجز على معلومات مثل "لقد شاهد 391 مستخدمًا تقريبًا معرّف المحتوى 123".
في هذا المثال:
* يتم تحميل "unique-reach-measurement.js
" عبر إطار، وهو مسؤول عن تحميل مساحة التخزين المصغّرة المشتركة.
* unique-reach-measurement-worklet.js
هي أداة التخزين المشتركة التي تتحقّق من العلامة في مساحة التخزين المشتركة وترسل تقريرًا من خلال واجهة برمجة تطبيقات التجميع الخاص.
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 this.sharedStorage.get(key)) === 'true';
// Do not 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 via the Private Aggregation API
privateAggregation.sendHistogramReport({ bucket, value });
// Set the report submission status flag
await this.sharedStorage.set(key, true);
}
}
// Register the operation
register('reach-measurement', ReachMeasurementOperation);
التفاعل مع الملاحظات ومشاركتها
يخضع اقتراح مساحة التخزين المشتركة للمناقشة النشطة ويخضع للتغيير في المستقبل. إذا جربت واجهة برمجة التطبيقات هذه ولديك تعليقات، يسعدنا سماعها.
- GitHub: يمكنك قراءة الاقتراح وطرح الأسئلة والمشاركة في المناقشة.
- إشعارات واجهة برمجة التطبيقات الخاصة بمساحة التخزين المشتركة: يمكنك الانضمام إلى الإشعارات السابقة أو الاطّلاع عليها في القائمة البريدية.
- فريق دعم المطوّرين: يمكنك طرح الأسئلة والانضمام إلى المناقشات من خلال مستودع دعم المطوّرين في "مبادرة حماية الخصوصية".