يرغب العديد من منتجي المحتوى والمعلنين في معرفة عدد المستخدمين الفريدين الذين شاهدوا المحتوى الخاص بهم. يمكنك استخدام "مساحة التخزين المشتركة" لتسجيل المرة الأولى التي يشاهد فيها المستخدم إعلانك أو فيديو مضمّنًا أو جهة نشر، ويمنع تكرار احتساب هذا المستخدم نفسه على مواقع إلكترونية مختلفة. ويمكنك بعد ذلك استخدام واجهة برمجة التطبيقات Private Aggregation API لإعداد تقرير ملخّص عن مدى وصولك إلى الجمهور.
Shared Storage API هي اقتراح ضمن "مبادرة حماية الخصوصية" مخصّص للاستخدام العام ومساحة التخزين على مواقع إلكترونية متعددة، ويتوافق مع العديد من حالات الاستخدام الممكنة واجهة برمجة التطبيقات الخاصة للتجميع الخاص هي ناتج متوفّر في "مساحة التخزين المشتركة" يسمح لك بتجميع البيانات من مواقع إلكترونية متعددة.
تجربة قياس مدى الوصول الفريد
لتجربة قياس مدى الوصول الفريد باستخدام "مساحة التخزين المشتركة" و"التجميع الخاص"، تأكَّد من استخدام الإصدار M107 من Chrome أو إصدار أحدث. بعد ذلك، فعِّل علامة تجربة واجهات برمجة التطبيقات لإعلانات "مبادرة حماية الخصوصية" على chrome://flags/#privacy-sandbox-ads-apis
.
يمكنك أيضًا تفعيل "مساحة التخزين المشتركة" باستخدام العلامة --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames
في سطر الأوامر.
تجربة عيّنات التعليمات البرمجية
قد تحتاج إلى تتبع عدد المستخدمين الفريدين الذين شاهدوا المحتوى الخاص بك عبر المواقع المختلفة. في هذا المثال، يتمّ ترميز سمة Content ID في مفتاح التجميع (الحزمة)، ويتمّ استخدام العدد كقيمة قابلة للتجميع. سيحتوي التقرير الملخص على معلومات مثل "اطّلع 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 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: يمكنك قراءة الاقتراح وطرح الأسئلة والمشاركة في المناقشة.
- إشعارات واجهة برمجة التطبيقات الخاصة بمساحة التخزين المشتركة: يمكنك الانضمام إلى الإشعارات السابقة أو الاطّلاع عليها في القائمة البريدية.
- فريق دعم المطوّرين: يمكنك طرح الأسئلة والانضمام إلى المناقشات من خلال مستودع دعم المطوّرين في "مبادرة حماية الخصوصية".