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