Выберите объявление по частоте

Запустите ворлет общего хранилища, чтобы выбрать URL-адрес и отобразить его в изолированном фрейме.

API общего хранилища — это предложение Privacy Sandbox для межсайтового хранилища общего назначения, которое поддерживает множество возможных вариантов использования. Одним из примеров является управление частотой, которое доступно для тестирования в Chrome Beta 104.0.5086.0 и более поздних версиях.

Запустите сценарий ворлета, чтобы выбрать URL-адрес из предоставленного списка на основе сохраненных данных, а затем отобразить этот URL-адрес в изолированном фрейме. Это можно использовать для выбора новых объявлений или другого контента при достижении ограничения частоты.

Тестируйте выбор креативов по частоте

Чтобы проверить выбор креативов по частоте с помощью Shared Storage и Fenced Frames, убедитесь, что вы используете Chrome 104.0.5086.0 или более поздней версии. Включите все API конфиденциальности рекламы в chrome://settings/adPrivacy .

Вы также можете включить общее хранилище с помощью флага --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames в командной строке.

Экспериментируйте с примерами кода

Чтобы выбрать и создать непрозрачный URL-адрес, зарегистрируйте модуль ворлета для чтения данных общего хранилища. Класс ворлета получает список из восьми URL-адресов, а затем возвращает индекс выбранного URL-адреса.

Когда клиент вызывает sharedStorage.selectURL() , ворлет выполняется и возвращает непрозрачный URL-адрес для отображения в изолированном фрейме .

Допустим, вы хотите выбрать для отображения другое объявление или контент в зависимости от того, сколько раз пользователь видел его раньше. Вы можете подсчитать, сколько раз пользователь просматривал контент, и сохранить это значение в общем хранилище. После сохранения значение в общем хранилище становится доступным для вас из разных источников.

Затем ворлет общего хранилища считывает значения в общем хранилище и увеличивает счетчик при каждом дополнительном представлении. Если количество не достигло предопределенного предела, возвращается контент, который вы хотите отобразить (индекс 1 ). Если нет, возвращается URL-адрес по умолчанию (индекс 0 ).

В этом примере:

  • creative-selection-by-frequencyjs загружается через iframe производителя контента или рекламодателя и отвечает за загрузку ворлета общего хранилища и рендеринг возвращенного непрозрачного источника в изолированный фрейм.
  • creative-selection-by-frequency-worklet.js — это ворлет общего хранилища, который считывает частоту, чтобы определить, какой URL-адрес возвращается для контента или рекламного объявления.

Creative-Select-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-Select-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 можно найти в этом разделе. Мы продолжим добавлять примеры по мере получения отзывов и обнаружения новых тестовых случаев.

Привлекайте и делитесь отзывами

Обратите внимание, что предложение Select URL API находится в стадии активного обсуждения и разработки и может быть изменено.

Мы хотим услышать ваши мысли об API выбора URL.

Будьте в курсе

  • Список рассылки : подпишитесь на нашу рассылку , чтобы получать последние обновления и объявления, связанные с API выбора URL-адреса и общего хранилища.

Нужна помощь?