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

يرغب العديد من منتجي المحتوى والمعلنين في معرفة عدد الأشخاص الفريدين الذين شاهدوا المحتوى الخاص بهم. استخدِم مساحة التخزين المشتركة لتسجيل أول مرة شاهد فيها المستخدم إعلانك أو فيديو مضمّنًا أو جهة نشر إعلانك، ومنع الاحتساب المتكرر للمستخدم نفسه على مواقع إلكترونية مختلفة. ويمكنك بعد ذلك استخدام 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 هي أداة التخزين المشتركة التي تتحقّق من العلامة في مساحة التخزين المشتركة وترسل تقريرًا من خلال واجهة برمجة تطبيقات التجميع الخاص.

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';

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

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