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

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

التفاعل مع الملاحظات ومشاركتها

يخضع اقتراح مساحة التخزين المشتركة للمناقشة النشطة ويخضع للتغيير في المستقبل. إذا جربت واجهة برمجة التطبيقات هذه ولديك تعليقات، يسعدنا سماعها.