اندازه گیری دسترسی منحصر به فرد

بسیاری از تولیدکنندگان محتوا و تبلیغ‌کنندگان می‌خواهند بدانند که چند نفر منحصر به فرد محتوای آنها را دیده‌اند. از Shared Storage برای ثبت اولین باری که یک کاربر تبلیغ، ویدیوی جاسازی شده یا انتشار شما را دیده است استفاده کنید و از شمارش تکراری همان کاربر در سایت‌های مختلف جلوگیری کنید. سپس می‌توانید از Private Aggregation API برای خروجی گرفتن یک گزارش خلاصه برای مخاطبان خود استفاده کنید.

API ذخیره‌سازی مشترک (Shared Storage API) یک پیشنهاد Privacy Sandbox برای ذخیره‌سازی چندمنظوره و بین سایتی است که از بسیاری از موارد استفاده ممکن پشتیبانی می‌کند. API تجمیع خصوصی (Private Aggregation API ) یک خروجی موجود در ذخیره‌سازی مشترک است که به شما امکان می‌دهد داده‌های چند سایتی را تجمیع کنید. برای کسب اطلاعات بیشتر در مورد روش‌های پیاده‌سازی این اندازه‌گیری‌ها، به گزارش رسمی ما در مورد دسترسی (reach whitepaper) مراجعه کنید.

اندازه‌گیری منحصر به فرد دسترسی را امتحان کنید

برای آزمایش اندازه‌گیری دسترسی منحصر به فرد با Shared Storage و Private Aggregation، تأیید کنید که از Chrome M107 یا بالاتر استفاده می‌کنید. تمام APIهای حریم خصوصی تبلیغات را در chrome://settings/adPrivacy فعال کنید.

همچنین می‌توانید Shared Storage را با استفاده از پرچم --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames در خط فرمان فعال کنید.

با نمونه کدها آزمایش کنید

شاید بخواهید تعداد کاربران منحصر به فردی که محتوای شما را در سایت‌های مختلف دیده‌اند را پیگیری کنید. در این مثال، بُعد شناسه محتوا در کلید تجمیع (bucket) کدگذاری شده است و تعداد به عنوان مقدار قابل تجمیع استفاده می‌شود. گزارش خلاصه شامل اطلاعاتی مانند "تقریباً 391 کاربر محتوای با شناسه 123 را دیده‌اند" خواهد بود.

در این مثال:

  • unique-reach-measurement.js با استفاده از یک فریم بارگذاری می‌شود و مسئول بارگذاری worklet ذخیره‌سازی مشترک است.
  • unique-reach-measurement-worklet.js یک worklet ذخیره‌سازی مشترک است که flag را در فضای ذخیره‌سازی مشترک بررسی می‌کند و با استفاده از 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);

مشارکت کنید و بازخورد خود را به اشتراک بگذارید

توجه داشته باشید که پیشنهاد API ذخیره‌سازی مشترک (Shared Storage API) در دست بحث و توسعه فعال است و بنابراین ممکن است تغییر کند.

مشتاقانه منتظر شنیدن نظرات شما در مورد API ذخیره‌سازی مشترک هستیم.