قياس مدى الوصول إلى الجمهور بعدد مرّات ظهور أكبر من K

يُشار إليها أحيانًا باسم "معدّل التكرار الفعّال"، وغالبًا ما يكون هناك حدّ أدنى لعدد المشاهدات قبل أن يتعرّف المستخدم على محتوى معيّن أو يتذكّره (غالبًا في سياق مشاهدات الإعلانات). يمكنك استخدام Shared Storage لإنشاء تقارير عن المستخدمين الفريدين الذين شاهدوا جزءًا من المحتوى K مرّة على الأقل.

Shared Storage API هي اقتراح ضمن "مبادرة حماية الخصوصية" لتوفير مساحة تخزين عامة الأغراض على مستوى المواقع الإلكترونية، وهي تتيح العديد من حالات الاستخدام المحتملة. Private Aggregation API هي ناتج متاح في Shared Storage يتيح لك تجميع البيانات على مستوى المواقع الإلكترونية.

تجربة قياس عدد مرّات الظهور بعدد مرّات ظهور أكبر من حدّ معيّن

للتجربة على قياس عدد مرّات الظهور باستخدام K+ مع "مساحة التخزين المشتركة" و"التجميع الخاص"، تأكَّد من استخدام الإصدار 107 من Chrome أو إصدار أحدث. فعِّل جميع واجهات برمجة التطبيقات الخاصة بالخصوصية في عرض الإعلانات ضِمن chrome://settings/adPrivacy.

يمكنك أيضًا تفعيل "مساحة التخزين المشتركة" باستخدام العلامة --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames في سطر الأوامر.

تجربة عيّنات التعليمات البرمجية

قد تحتاج إلى قياس عدد المستخدمين الذين شاهدوا محتواك K أو أكثر من مرّة على عميل معيّن في مواقع إلكترونية مختلفة. في هذا المثال، تتم إضافة عدد مرّات الظهور إلى مساحة التخزين المشترَكة، حيث يزيد بمقدار 1 كلّما تم تحميل المحتوى. عندما يصل عدد مرّات الظهور إلى 3، يتم استدعاء Private Aggregation API. يتم ترميز سمة "معرّف المحتوى" كمفتاح تجميع، ويتم استخدام العدد كقيمة قابلة للتجميع. سيقدّم التقرير الموجز معلومات مثل "شاهد حوالي 391 مستخدمًا الحملة الإعلانية التي تحمل المعرّف 123 ثلاث مرات على الأقل".

في هذا المثال:

  • يتم تحميل k-frequency-measurement.js باستخدام إطار، وهو المسؤول عن تحميل وحدة معالجة مساحة التخزين المشتركة.
  • k-frequency-measurement-worklet.js هي وحدة عمل في Shared Storage تقرأ عدد مرّات الظهور في مساحة التخزين المشتركة وترسل تقريرًا باستخدام Private Aggregation API.

k-frequency-measurement.js

async function injectContent() {
  // Load the Shared Storage worklet
  await window.sharedStorage.worklet.addModule('k-freq-measurement-worklet.js');

  // Run the K-frequency measurement operation
  await window.sharedStorage.run('k-freq-measurement', { data: { kFreq: 3, contentId: 123 });
}

injectContent();

kuency-measurement-worklet.js

// Learn more about noise and scaling from the Private Aggregation fundamentals
// documentation on Chrome blog
const SCALE_FACTOR = 65536;

/**
 * The bucket key must be a number, and in this case, it is just the content
 * ID itself. For more complex bucket key construction, see other use cases in
 * this demo.
 */
function convertContentIdToBucket(contentId) {
  return BigInt(contentId);
}

class KFreqMeasurementOperation {
  async run(data) {
    const { kFreq, contentId } = data;

    // Read from Shared Storage
    const hasReportedContentKey = 'has-reported-content';
    const impressionCountKey = 'impression-count';
    const hasReportedContent = (await sharedStorage.get(hasReportedContentKey)) === 'true';
    const impressionCount = parseInt((await sharedStorage.get(impressionCountKey)) || 0);

    // Don't report if a report has been sent already
    if (hasReportedContent) {
      return;
    }

    // Check impression count against frequency limit
    if (impressionCount < kFreq) {
      await sharedStorage.set(impressionCountKey, impressionCount + 1);
      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(hasReportedContentKey, 'true');
  }
}

// Register the operation

register('k-freq-measurement', KFreqMeasurementOperation); \

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

يُرجى العِلم أنّ اقتراح واجهة برمجة التطبيقات Shared Storage API يخضع حاليًا لمناقشة وتطوير نشطَين، وبالتالي قد يتغيّر.

نتطلّع إلى معرفة رأيك في واجهة برمجة التطبيقات Shared Storage API.