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

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

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

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

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