Изучите архитектуру аукциона в рамках сервисов торгов и аукционов.
Обзор
Сервисы торгов и аукционов (B&A) предоставляют набор услуг для покупателей и продавцов рекламы, работающих в доверенной среде исполнения (TEE) для проведения аукциона с защищенной аудиторией (PA). На этой странице описаны различные конфигурации аукциона, в которых можно использовать B&A в аукционе PA.
Определения
| Срок | Описание |
|---|---|
| Аукцион для защищенной аудитории | Аукцион рекламы, использующий данные с разных сайтов. |
| Контекстный аукцион | Рекламный аукцион, не использующий данные с разных сайтов. Этот аукцион следует существующему алгоритму торгов в реальном времени (RTB). |
| Единый запрос на аукцион | Запрос, отправленный JavaScript-кодом продавца из браузера, который содержит полезную нагрузку как для аукциона с защищенной аудиторией, так и для контекстного аукциона. |
| Сервис размещения рекламы для продавцов (SAS) | Сервис, отвечающий за обработку единого запроса на аукцион из браузера. Это может быть существующий RTB-сервер рекламы продавца. SAS отвечает за организацию как контекстных аукционов, так и аукционов для защищенной аудитории. |
| Сервис размещения рекламы для покупателей | Сервис, ответственный за подачу заявки на контекстный аукцион. Это может быть существующий рекламный сервер ORTB покупателя. |
Услуги для покупателей и продавцов
Компания B&A Services предоставляет покупателям и продавцам четыре вида услуг:
- Для покупателей доступны услуги по проведению торгов и аутсорсингу для покупателей (Buyer Front-End, BFE) .
- Продавцам доступны для использования аукционный сервис и сервис для продавцов (SFE) .
| Участник | Услуга | Описание |
|---|---|---|
| Покупатель | Сервис для покупателей на переднем плане (BFE) | Сервис обрабатывает запрос GetBids от SFE продавца. Он отвечает за расшифровку полезной нагрузки, получение сигналов ключ-значение и вызов GenerateBids сервиса торгов . |
| Услуги по проведению торгов | Сервис обрабатывает запрос GenerateBids от BFE . Он отвечает за выполнение логики торгов покупателя и генерацию ставки. | |
| Продавец | Сервис для продавцов (SFE) | Сервис обрабатывает запрос SelectAd от сервиса Seller Ad Service . Он отвечает за расшифровку полезной нагрузки, вызов операции GetBids из BFE , получение сигналов K/V, вызов операции ScoreAd из сервиса Auction Service , а затем возврат зашифрованного результата аукциона B&A в SAS. Когда сервис является частью стека продавца верхнего уровня в многостороннем аукционе, управляемом сервером , он также обрабатывает запрос |
| Аукционная служба | Сервис обрабатывает запрос ScoreAd от SFE . Он отвечает за выполнение логики оценки продавца и предоставление оценки привлекательности ставки. |
Архитектура аукциона PA B&A для веб-сайта
На следующей диаграмме описан базовый аукцион с защищенной аудиторией (Protected Audience) с использованием услуг B&A Services, где есть один продавец и один покупатель. Толстые красные прямоугольники обозначают услуги, работающие в рамках аукциона с защищенной аудиторией:

- JavaScript-код SSP на странице издателя генерирует зашифрованные данные аукциона рекламы B&A, вызывая метод
navigator.getInterestGroupAdAuctionData().- Этот зашифрованный пакет содержит данные покупателя и может быть расшифрован только внутри SFE в TEE.
- JavaScript-код SSP отправляет единый запрос на проведение аукциона в службу размещения объявлений продавцов (Seller Ad Service).
- Единый запрос на аукцион содержит как контекстную полезную нагрузку аукциона ORTB в открытом текстовом виде, так и зашифрованную полезную нагрузку аукциона B&A.
- Сервис размещения рекламы для продавцов — это ваш существующий рекламный сервер, и он не работает в составе TEE.
- Сервис Seller Ad Service обращается к RTB-сервису DSP для запроса контекстной ставки на аукционе и любых сигналов покупателя, чтобы передать их в последующий аукцион PA.
- На этом этапе покупатель может заявить о своем намерении участвовать в аукционе PA.
- После завершения контекстного аукциона SAS отправляет запрос
SelectAdв службу SFE.- В полезную нагрузку запроса
SelectAdдобавляются контекстные сигналы о выигрышной ставке на аукционе и данные о покупателе.
- В полезную нагрузку запроса
- Сервис SFE компании SSP отправляет запрос
GetBidsсервису BFE компании DSP. - BFE от DSP обращается к службе торгов с запросом
GenerateBids. - После получения заявки компанией SFE,
ScoreAdотправляет запрос в аукционную службу.- Предложение с наивысшим рейтингом привлекательности возвращается в SAS, а затем перенаправляется в JavaScript-код на странице.
- Аукцион завершается в браузере путем передачи зашифрованного результата аукциона B&A в вызов функции
navigator.runAdAuction().
Настройки аукциона
Аукцион с защищенной аудиторией, проводимый компанией B&A Services, может быть настроен следующими способами:
- Аукцион с участием одного продавца и покупателей, приобретающих недвижимость по схеме «покупка-продажа».
- Аукцион в смешанном режиме с покупателями, совершающими покупки на устройствах, и покупателями, совершающими покупки по схеме «купи и продай».
- Аукцион с участием нескольких продавцов, который может управляться как устройством, так и сервером.
Участники
Для описания каждой конфигурации аукциона в данном руководстве используются следующие участники:
| Участник | Описание |
|---|---|
DSP-A | Покупатель на устройстве |
DSP-B | Покупатель на устройстве |
DSP-X | Покупатель B&A |
DSP-Y | Покупатель B&A |
SSP-TOP | Продавец высшего уровня |
SSP-OD | Продавец, предлагающий только товары на устройстве. |
SSP-BA | Продавец, предлагающий только товары и услуги (B&A). |
SSP-MIX | Продавец смешанного режима |
Существует четыре цифровых сигнальных процессора (DSP):
-
DSP-AиDSP-Bучаствуют только в аукционах, проводимых непосредственно на устройстве. -
DSP-XиDSP-Yучаствуют как в аукционах на устройствах, так и в аукционах «покупка-продажа».
Существует четыре SSP (Self-Speaker Shop), и каждый продавец использует свою собственную конфигурацию аукциона:
-
SSP-ODпроводит аукцион, доступный только на самом устройстве. -
SSP-BAпроводит аукцион, на котором продаются только товары и услуги. -
SSP-MIXпроводит аукцион в смешанном режиме. -
SSP-TOPпроводит аукцион с участием нескольких продавцов:-
SSP-OD/BA/MIXучаствуют в качестве продавцов компонентов на многостороннем аукционеSSP-TOP.
-
Аукцион "Сделка купли-продажи" с одним продавцом
В конфигурации с одним продавцом один продавец проводит аукцион, в котором участвуют несколько покупателей. Если продавец проводит аукцион «Купи и продай», покупатели должны использовать пакет услуг B&A Services для подачи заявки на аукцион. Покупателям и продавцам не обязательно использовать одного и того же облачного провайдера.

В описанной выше конфигурации SSP-BA запускает аукцион B&A, в котором участвуют DSP-X и DSP-Y используя стек покупателей сервисов B&A. Сервис рекламы продавца сначала запускает контекстный аукцион для DSP-X и DSP-Y , а затем запускает аукцион защищенной аудитории, отправляя запрос SelectAd в сервис SFE продавца. Выигрышная ставка контекстного аукциона и сигналы для каждого покупателя передаются в вызов SelectAd . Затем сервис SFE отправляет запросы GetBids в BFE DSP-X и DSP-Y , которые вызывают свой сервис торгов для генерации ставки.
Зашифрованный результат аукциона B&A возвращается клиенту и передается в вызов функции runAdAuction() . Конфигурация аукциона с одним продавцом выглядит следующим образом:
await navigator.runAdAuction({
seller: 'https://ssp-ba.example',
requestId: 'g8312cb2-da2d-4e9b-80e6-e13dec2a581c',
serverResponse: Uint8Array(560) [193, 120, 4, …] // Encrypted B&A auction result
})
Значение requestId берется из вызова getInterestGroupAdAuctionData() на стороне клиента, а данные serverResponse из аукциона B&A на стороне сервера.
Аукцион в смешанном режиме
В смешанном режиме покупатели могут участвовать в аукционе продавца как с устройства, так и через приложение «Купи и иди». Синие стрелки обозначают путь проведения аукциона на устройстве, а красные стрелки — путь проведения аукциона через приложение «Купи и иди».

В данной конфигурации DSP-A и DSP-B являются покупателями, которые подают свои ставки непосредственно на устройстве, а DSP-X и DSP-Y — покупателями, которые подают свои ставки с помощью B&A. Покупатели, подающие ставки непосредственно на устройстве, участвуют в аукционе PA в браузере, а покупатели, подающие ставки через B&A, участвуют в аукционе B&A, описанном в разделе об аукционе с одним продавцом .
Сначала для всех покупателей запускается контекстный аукцион, чтобы собрать выигрышную ставку и сигналы покупателей. Затем запускается аукцион «Купить и купить», и сигналы покупателей из контекстного аукциона передаются в запрос SelectAd к SFE. Зашифрованный результат аукциона «Купить и купить», возвращаемый SFE, передается в браузер. После аукциона «Купить и купить» его результат передается в аукцион на устройстве, в котором участвуют покупатели на устройстве.
Конфигурация аукциона с одним продавцом в смешанном режиме для части аукциона, проводимой на устройстве, выглядит примерно так:
await navigator.runAdAuction({
seller: 'https://ssp-mix.example',
decisionLogicURL: 'https://ssp-ba.example/score-ad.js',
componentAuctions: [
// B&A auction
{
seller: 'https://ssp-mix.example',
requestId: 'f5135cb2-da2d-4e9b-80e6-e13dec2a581c',
serverResponse: Uint8Array(560) [133, 20, 14, …]
},
// On-device auction
{
seller: 'https://ssp-mix.example',
interestGroupBuyers: ['https://dsp-a.example', 'https://dsp-b.example'],
decisionLogicURL: 'https://ssp-mix.example/on-device-score-ad.js',
}
]
})
Параллельная обработка аукционов на устройстве и аукционов типа «покупка-продажа»
Без распараллеливания аукционы выполняются последовательно: сначала контекстный аукцион, затем аукцион B&A и, наконец, аукцион на устройстве. При использовании распараллеливания контекстный аукцион снова запускается первым, но его результат и сигналы передаются обратно клиенту, чтобы запустить аукцион на устройстве параллельно до завершения аукциона B&A.

JavaScript-код на стороне клиента отправляет запрос на унифицированный аукцион в SAS, и SAS запускает контекстный аукцион и аукцион PA B&A. Когда SAS получает ответ от RTB-сервера покупателя, сигналы покупателя для аукциона на устройстве могут передаваться обратно в браузер вместе с победителем контекстного аукциона после получения всех ставок. Передаваемые сигналы покупателя используются для генерации ставки на устройстве, а победитель контекстного аукциона используется в качестве минимальной ставки при оценке ставок.
В SAS продавец генерирует UUID nonce , который устанавливается в заголовке ответа Ad-Auction-Result-Nonce при передаче контекстных данных аукциона в браузер. Тот же nonce используется в вызове SelectAd к SFE для аукциона B&A, и этот nonce включается в возвращаемый SelectAd ответ SelectAd. На этапе аукциона на стороне клиента браузер проверяет, совпадает ли nonce в заголовке ответа Ad-Auction-Result-Nonce с nonce в зашифрованном пакете данных с результатами аукциона.
Подробнее о распараллеливании в смешанном режиме см. в пояснительной статье .
Аукцион с участием нескольких продавцов
Существует два способа проведения аукциона с участием нескольких продавцов в Пенсильвании с помощью B&A:
- Аукцион, управляемый устройством, где обращение к рекламному сервису каждого продавца компонентов происходит из браузера.
- Аукцион, управляемый сервером, в котором запрос к рекламному сервису каждого продавца компонентов поступает из рекламного сервиса продавца верхнего уровня.
Аукцион с участием нескольких продавцов, управляемый устройством
В аукционе с участием нескольких продавцов, управляемом устройством, каждый продавец компонентов может проводить аукцион в любой конфигурации по своему выбору. В аукционе верхнего уровня могут участвовать продавцы, торгующие непосредственно на устройстве, продавцы, торгующие как на устройстве, так и в сочетании с устройством, а также продавцы, торгующие в смешанном режиме.


На этой диаграмме SSP-TOP запускает управляемый сервером аукцион с участием нескольких продавцов, в котором принимают участие SSP-BA-X и SSP-BA-Y .
Из браузера в рекламный сервис продавца верхнего уровня отправляется единый унифицированный запрос на аукцион, содержащий контекстную и PA-информацию для всех участников. Затем SAS выполняет вызов GetComponentAuctionCiphertexts к SFE с этой информацией. SFE расшифровывает информацию, разделяет ее по каждому продавцу компонентов и возвращает зашифрованную информацию в SAS продавца верхнего уровня.
Прототипы запроса и ответа GetComponentAuctionCiphertexts выглядят следующим образом:
// Request sent from the top-level seller's ad service to SFE
message GetComponentAuctionCiphertextsRequest {
bytes protected_auction_ciphertext = 1; // Generated in the browser
repeated string component_sellers = 2; // The list of all component sellers
}
// Response returned from SFE to the top-level seller's ad service
message GetComponentAuctionCiphertextsResponse {
// A map of component sellers and their re-encrypted payloads
map<string, bytes> seller_component_ciphertexts = 1;
}
Получив данные от каждого продавца компонентов, SAS верхнего уровня вызывает SAS продавцов компонентов, и каждый SAS компонентов выполняет свой аукцион B&A компонентов. Затем результаты аукционов компонентов возвращаются в SFE верхнего уровня, и ставки аукциона компонентов оцениваются службой аукциона верхнего уровня. Ставка с наивысшим рейтингом желательности возвращается в SFE, и зашифрованные данные отправляются в SAS для возврата клиенту. В браузере продавец верхнего уровня завершает аукцион, вызывая navigator.runAdAuction() и предоставляя зашифрованные данные результатов аукциона на сервере.
Следующие шаги
После прочтения этого руководства вы можете предпринять следующие шаги:
Узнать больше
- Для более глубокого понимания принципа работы B&A для защищенной аудитории, ознакомьтесь со следующими пояснениями на GitHub:
- Поэкспериментируйте с защищенной аудиторией в B&A, следуя инструкциям из практического руководства по сквозному локальному тестированию .
- Для интеграции с B&A в качестве продавца см. раздел «Интеграция с B&A» .
Есть вопросы?
- Задавайте вопросы о сервисах торгов и аукционов , создав заявку в репозитории B&A Services .