Запустите рабочий модуль «Общее хранилище», чтобы выбрать URL-адрес и отобразить его в рамке, заключенной в блок.
API общего хранилища — это предложение в рамках концепции «песочницы конфиденциальности» для универсального межсайтового хранилища, поддерживающее множество возможных вариантов использования. Один из примеров — управление частотой, которое можно протестировать в 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-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 можно найти в этом разделе. Мы продолжим добавлять примеры по мере получения отзывов и обнаружения новых тестовых случаев.
- Чередуйте рекламные объявления : сохраняйте данные, такие как идентификатор креатива и взаимодействие с пользователем, чтобы определить, какие креативы пользователи видят на разных сайтах.
- Выберите рекламные объявления по частоте : используйте данные о количестве просмотров, чтобы определить, какие креативы видят пользователи на разных сайтах.
- Запустите A/B-тестирование : вы можете назначить пользователя в экспериментальную группу, а затем сохранить эту группу в общем хранилище для обеспечения кросс-сайтового доступа.
- Персонализируйте опыт для известных клиентов : делитесь индивидуальным контентом и призывами к действию на основе статуса регистрации пользователя или других состояний пользователя.
Привлекайте и делитесь отзывами
Обратите внимание, что предложение Select URL API находится в стадии активного обсуждения и разработки и может быть изменено.
Мы с нетерпением ждем вашего мнения об API Select URL.
- Предложение : Рассмотрите подробное предложение .
- Обсуждение : присоединяйтесь к продолжающемуся обсуждению , чтобы задавать вопросы и делиться своими идеями.