Функция отладки защищенной аудитории позволяет разработчикам рекламных технологий указывать удаленные URL-адреса для получения GET-запросов от устройств в случае выигрыша или проигрыша аукциона. Это обеспечивает следующие возможности:
- Получайте отчеты о результатах аукционов: выигранные и проигранные.
- Разберитесь, почему аукционы проигрываются. Например: выясните, связана ли проблема с реализацией скрипта для торгов или оценки результатов, или же с ошибкой в основной логике.
- Выявляйте проблемы, возникающие при обновлении логики JavaScript.
В тестовой версии Privacy Sandbox Developer Preview 9 доступна функция отладки на уровне событий. Отладка поддерживается на всех устройствах, где доступен AdId.
Долгосрочный план состоит в том, чтобы дать платформе возможность сообщать результаты аукционов с помощью сервиса частной агрегации. Это гарантирует, что отчеты, сформированные постфактум, не смогут использоваться для привязки пользовательских аудиторий отдельных пользователей к приложению издателя. Отчеты на уровне событий являются временными, до тех пор пока не будет выпущена адекватная система отчетности.
Узнайте больше об [отчетности в первоначальном предложении Chrome по проведению пробного запуска FLEDGE][10].
Использование
Отладка осуществляется с помощью следующих JavaScript API, каждый из которых принимает в качестве аргумента строку URL:
-
forDebuggingOnly.reportAdAuctionWin(String url) -
forDebuggingOnly.reportAdAuctionLoss(String url)
В следующем примере отображается информация о проигрыше в рекламном аукционе, а также выигрышная ставка и внутренняя переменная. Эти данные затем можно использовать для отладки.
let someDebuggableVariable = 123;
const url = "https://example.com/reportLoss?winningBid=${winningBid}&someDebuggableVariable=" + someDebuggableVariable;
forDebuggingOnly.reportAdAuctionLoss(url);
После завершения аукциона значение в шаблоне ${winningBid} заменяется реальным значением.
Продавцы могут по желанию возвращать rejectReason из своей функции scoreAds :
function scoreAd(ad, bid, auction_config, seller_signals,
trusted_scoring_signals, contextual_signal,
custom_audience_signal) {
let score = ...
return {
'status': 0,
'score': score,
'rejectReason': 'blocked-by-publisher'
}
}
Если продавец не указывает причину отказа, вместо этого отправляется сообщение not-available .
переменные URL
Переменные, которые можно добавить к URL-адресу отладки, соответствуют их аналогам в Chrome (хотя ${topLevelWinningBid} и ${topLevelMadeWinningBid} недоступны, поскольку в Android отсутствует концепция компонентных аукционов).
| Имя переменной | Описание |
winningBid | Сумма выигрышной ставки. |
madeWinningBid | Логическое значение, указывающее, сделал ли покупатель данной целевой аудитории выигрышную ставку, либо через эту же целевую аудиторию, либо через другую целевую аудиторию с тем же покупателем. |
highestScoringOtherBid | Значение ставки, которая была оценена как вторая по величине скриптом scoreAd продавца. Обратите внимание, что это может быть не вторая по величине ставка, поскольку оценки и ставки могут быть независимыми. |
madeHighestScoringOtherBid | Логическое значение, указывающее, сделал ли покупатель данной пользовательской аудитории ставку в размере ${highestScoringOtherBid} , либо через эту же пользовательскую аудиторию, либо через другую пользовательскую аудиторию с тем же покупателем. |
rejectReason | Строка, которую продавец может указать по желанию, объясняя причину отклонения предложения. Может принимать любое из следующих значений:
|
Ограничения
- URL-адрес хоста должен совпадать с доменом вашей зарегистрированной песочницы конфиденциальности.
- Длина URL-адреса не должна превышать 4096 символов, включая домен, префикс
https://и подставленные данные аукциона. - В будущих версиях отладочные пинги будут отправляться только при подключении к Wi-Fi.
Поведение на устройстве
В мобильной среде защита памяти и сетевого трафика является первостепенной задачей. Поэтому отладочные отчеты формируются пакетами.
Следующие системные свойства управляют частотой и размером пакетной обработки, которые можно уменьшить для целей разработки:
-
fledge_event_level_debug_reporting_batching_rate -
fledge_event_level_debug_reporting_batch_size
Ожидаемая задержка при получении отладочного отчета составляет от 15 до 60 минут после завершения аукциона.
Нет никаких строгих гарантий относительно полноты отладочных отчетов. Если устройство перезагружается или процесс рекламных служб завершается с ошибкой до отправки запросов к серверу, эти события отбрасываются.
Для каждой рекламной технологии существует максимальное ограничение в 75 зарегистрированных отладочных URL-адресов на один аукцион. URL-адреса, зарегистрированные после достижения этого лимита, незаметно удаляются.
Наконец, если пользователь отключил AdId , то отправляются отладочные отчеты. Эта функция не реализована в Developer Preview 9, но будет добавлена в будущих версиях.
поведение сервера рекламных технологий
Для формирования отладочных отчетов серверы рекламных технологий должны обладать следующими характеристиками:
- Устройство отправляет GET-запросы на указанный вами сервер с помощью API-интерфейсов
forDebuggingOnly.*. - Каждый запрос представляет собой отдельный отладочный отчет на уровне события: выигрыш или проигрыш в рекламном аукционе.
- Каждый запрос не имеет тела. Все данные находятся в параметрах запроса.
- Большие объемы данных, передаваемых в ответ на запрос, могут негативно влиять на производительность и использование данных, поэтому такие запросы игнорируются.