قياس مدى الوصول الفريد

يريد العديد من صنّاع المحتوى والمعلنين معرفة عدد الأشخاص الفريدِين الذين شاهدوا المحتوى الخاص بهم. استخدِم 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.

reach-measurement.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();

reach-measurement-worklet.js

// 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.

هل أنت بحاجة إلى مساعدة؟