یک خلاقیت را بر اساس فرکانس انتخاب کنید

برای انتخاب URL و رندر کردن آن در یک قاب محصور، یک Worklet Storage مشترک اجرا کنید.

Shared Storage API یک پیشنهاد Privacy Sandbox برای اهداف عمومی، فضای ذخیره‌سازی بین سایتی است که از بسیاری از موارد استفاده ممکن پشتیبانی می‌کند. یک مثال کنترل فرکانس است که برای آزمایش در Chrome Beta 104.0.5086.0 و جدیدتر در دسترس است.

یک اسکریپت Worklet برای انتخاب یک URL از لیست ارائه شده، بر اساس داده های ذخیره شده، اجرا کنید و سپس آن URL را در یک قاب حصاردار رندر کنید. هنگامی که به محدودیت فرکانس رسیده است، می توان از آن برای انتخاب تبلیغات جدید یا محتوای دیگر استفاده کرد.

انتخاب خلاق را بر اساس فرکانس آزمایش کنید

برای آزمایش انتخاب خلاق بر اساس فرکانس با فضای ذخیره‌سازی مشترک و قاب‌های حصاردار، تأیید کنید که از Chrome 104.0.5086.0 یا جدیدتر استفاده می‌کنید. همه APIهای حریم خصوصی تبلیغات را در chrome://settings/adPrivacy فعال کنید.

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

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

برای انتخاب و ایجاد یک URL مات، یک ماژول Worklet برای خواندن داده های ذخیره سازی مشترک ثبت کنید. کلاس Worklet لیستی از حداکثر هشت URL دریافت می کند و سپس فهرست URL انتخاب شده را برمی گرداند.

هنگامی که کلاینت sharedStorage.selectURL() فراخوانی می کند، worklet یک URL مات را اجرا می کند و برمی گرداند تا در یک قاب حصاردار رندر شود.

فرض کنید می‌خواهید آگهی یا محتوای دیگری را بر اساس تعداد دفعاتی که کاربر قبلاً آن را دیده است، انتخاب کنید. می‌توانید تعداد دفعاتی را که کاربر یک محتوا را دیده است بشمارید و آن مقدار را در فضای ذخیره‌سازی مشترک ذخیره کنید. پس از ذخیره شدن، مقدار موجود در فضای ذخیره‌سازی مشترک در مبادی مختلف برای شما در دسترس می‌شود.

سپس، Worklet ذخیره سازی مشترک مقادیر موجود در فضای ذخیره سازی مشترک را می خواند و با هر نمایش اضافی شمارنده را افزایش می دهد. اگر تعداد به حد از پیش تعریف شده نرسیده باشد، محتوایی که می خواهید ارائه دهید برگردانده می شود (شاخص 1 ). اگر نه، URL پیش فرض برگردانده می شود (شاخص 0 ).

در این مثال:

  • creative-selection-by-frequencyjs از طریق iframe تولیدکننده محتوا یا تبلیغ‌کننده بارگیری می‌شود و مسئول بارگیری Worklet ذخیره‌سازی مشترک و ارائه منبع مات برگشتی در یک قاب حصاردار است.
  • creative-selection-by-frequency-worklet.js یک ابزار ذخیره سازی مشترک است که تعداد دفعات را می خواند تا مشخص کند کدام URL برای یک محتوا یا یک آگهی تبلیغاتی بازگردانده می شود.

creative-selection-by-frequency.js

// The first URL is the default content or ad to be rendered when the frequency limits reached.
const CONTENT_URLS = [
  { url: `https://${contentProducerUrl}/default-content.html` },
  { url: `https://${contentProducerUrl}/example-content.html` },
];

async function injectAd() {
  // Load the worklet module.
  await window.sharedStorage.worklet.addModule('creative-selection-by-frequency-worklet.js');

  // Set the initial frequency count
  window.sharedStorage.set('frequency-count', 0, {
    ignoreIfPresent: true,
  });

  // Run the URL selection operation to choose an ad based on the frequency count in shared storage.
  const fencedFrameConfig = await window.sharedStorage.selectURL('creative-selection-by-frequency', CONTENT_URLS, {
    resolveToConfig: true
  });

  // Render the opaque URL into a fenced frame
  document.getElementById('content-slot').config = fencedFrameConfig;
}

injectAd();

creative-selection-by-frequency-worklet.js

const FREQUENCY_LIMIT = 5;

class CreativeSelectionByFrequencyOperation {
  async run(urls, data) {
    // Read the current frequency limit in shared storage
    const count = parseInt(await sharedStorage.get('frequency-count'));

    // Check if the frequency limit has been reached.
    if (count === FREQUENCY_LIMIT) {
      console.log('Frequency limit has been reached, and the default content will be rendered.');
      return 0;
    }

    // Set the new frequency count in shared storage
    await sharedStorage.set('frequency-count', count + 1);
    return 1;
  }
}

// Register the operation as 'creative-selection-by-frequency'.
register('creative-selection-by-frequency', CreativeSelectionByFrequencyOperation);

موارد استفاده کنید

همه موارد استفاده موجود برای Select URL API را می‌توانید در این بخش پیدا کنید. با دریافت بازخورد و کشف موارد آزمایشی جدید، به افزودن نمونه‌ها ادامه خواهیم داد.

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

توجه داشته باشید که پیشنهاد انتخاب URL API در حال بحث و توسعه فعال است و ممکن است تغییر کند.

ما مشتاقیم نظرات شما را در مورد Select URL API بشنویم.

در جریان باشید

  • فهرست پستی : برای آخرین به‌روزرسانی‌ها و اطلاعیه‌های مربوط به انتخاب URL و APIهای ذخیره‌سازی مشترک، در فهرست پستی ما مشترک شوید.

به کمک نیاز دارید؟