Tìm hiểu cấu trúc phiên đấu giá của Dịch vụ đặt giá thầu và phiên đấu giá
Tổng quan
Dịch vụ Đặt giá thầu và Phiên đấu giá (B&A) cung cấp một bộ dịch vụ cho người mua và người bán quảng cáo chạy trong Môi trường thực thi đáng tin cậy (TEE) để hỗ trợ phiên đấu giá Protected Audience (PA). Trang này mô tả các cấu hình đấu giá mà bạn có thể sử dụng B&A trong phiên đấu giá PA.
Định nghĩa
Thuật ngữ | Mô tả |
---|---|
Phiên đấu giá Protected Audience | Phiên đấu giá quảng cáo liên quan đến dữ liệu trên nhiều trang web |
Phiên đấu giá theo bối cảnh | Phiên đấu giá quảng cáo không liên quan đến dữ liệu trên nhiều trang web. Phiên đấu giá này tuân theo lộ trình đấu giá hiện có của tính năng Đặt giá thầu theo thời gian thực (RTB). |
Yêu cầu phiên đấu giá hợp nhất | Yêu cầu do mã JavaScript của người bán gửi từ trình duyệt, bao gồm cả tải trọng cho cả phiên đấu giá Protected Audience và phiên đấu giá theo bối cảnh. |
Dịch vụ quảng cáo của người bán (SAS) | Dịch vụ chịu trách nhiệm xử lý yêu cầu phiên đấu giá hợp nhất từ trình duyệt. Đây có thể là máy chủ quảng cáo RTB hiện có của người bán. SAS chịu trách nhiệm điều phối cả phiên đấu giá theo bối cảnh và phiên đấu giá trong Protected Audience. |
Dịch vụ quảng cáo của người mua | Dịch vụ chịu trách nhiệm gửi giá thầu phiên đấu giá theo bối cảnh. Đây có thể là máy chủ quảng cáo ORTB hiện có của người mua. |
Dịch vụ dành cho người mua và người bán
Dịch vụ B&A bao gồm 4 dịch vụ dành cho người mua và người bán:
- Đối với người mua, bạn có thể sử dụng Dịch vụ đặt giá thầu và Dịch vụ giao diện người dùng của người mua (BFE).
- Đối với người bán, bạn có thể sử dụng Dịch vụ đấu giá và Dịch vụ giao diện người dùng của người bán (SFE).
Người hoặc tổ chức tham gia | Dịch vụ | Mô tả |
---|---|---|
Bên mua | Dịch vụ giao diện người dùng bên mua (BFE) | Dịch vụ này xử lý yêu cầu GetBids từ SFE của người bán. Lớp này chịu trách nhiệm giải mã tải trọng, tìm nạp tín hiệu K/V và gọi GenerateBids của Dịch vụ đặt giá thầu. |
Dịch vụ đặt giá thầu | Dịch vụ này xử lý yêu cầu GenerateBids từ BFE. Thành phần này chịu trách nhiệm chạy logic đặt giá thầu của người mua và tạo giá thầu. |
|
Người bán | Dịch vụ Giao diện người dùng của người bán (SFE) | Dịch vụ này xử lý yêu cầu SelectAd từ Dịch vụ quảng cáo của người bán. Lớp này chịu trách nhiệm giải mã tải trọng, gọi toán tử GetBids của BFE, tìm nạp tín hiệu K/V, gọi toán tử ScoreAd của Dịch vụ đấu giá, sau đó trả về kết quả phiên đấu giá B&A đã mã hoá cho SAS.
Khi dịch vụ là một phần của ngăn xếp người bán cấp cao nhất trong một phiên đấu giá nhiều người bán do máy chủ điều phối, dịch vụ này cũng xử lý yêu cầu |
Dịch vụ đấu giá | Dịch vụ này xử lý yêu cầu ScoreAd từ SFE. Thành phần này chịu trách nhiệm chạy logic tính điểm của người bán và cung cấp điểm mức độ mong muốn của giá thầu. |
Cấu trúc của phiên đấu giá B&A PA cho web
Sơ đồ sau đây mô tả phiên đấu giá Protected Audience cơ bản với Dịch vụ B&A có một người bán và một người mua. Các hộp có đường viền màu đỏ đậm đại diện cho các dịch vụ chạy trong TEE:
- Mã JavaScript của SSP trên trang nhà xuất bản tạo dữ liệu phiên đấu giá quảng cáo B&A đã mã hoá bằng cách gọi
navigator.getInterestGroupAdAuctionData()
.- Tải trọng đã mã hoá này chứa dữ liệu của người mua và chỉ có thể được giải mã bên trong SFE trong TEE.
- Mã JavaScript SSP gửi một yêu cầu phiên đấu giá hợp nhất đến Dịch vụ quảng cáo của người bán.
- Yêu cầu đấu giá hợp nhất chứa cả tải trọng đấu giá theo bối cảnh ORTB ở dạng văn bản thuần tuý và tải trọng đấu giá B&A đã mã hoá.
- Dịch vụ quảng cáo của người bán là máy chủ quảng cáo hiện có của bạn và không chạy trong TEE.
- Dịch vụ quảng cáo của người bán gọi dịch vụ RTB của DSP để yêu cầu giá thầu phiên đấu giá theo bối cảnh và mọi tín hiệu của người mua được chuyển vào phiên đấu giá PA tiếp theo.
- Đây có thể là bước mà người mua cho biết ý định tham gia phiên đấu giá PA.
- Sau khi phiên đấu giá theo bối cảnh hoàn tất, SAS sẽ gửi yêu cầu
SelectAd
đến Dịch vụ SFE.- Giá thầu chiến thắng phiên đấu giá theo bối cảnh và tín hiệu của người mua được thêm vào tải trọng yêu cầu
SelectAd
.
- Giá thầu chiến thắng phiên đấu giá theo bối cảnh và tín hiệu của người mua được thêm vào tải trọng yêu cầu
- Dịch vụ SFE của SSP gọi Dịch vụ BFE của DSP bằng yêu cầu
GetBids
. - BFE của DSP gọi Dịch vụ đặt giá thầu bằng yêu cầu
GenerateBids
. - Sau khi SFE nhận được giá thầu, lệnh gọi
ScoreAd
sẽ được thực hiện đến Dịch vụ đấu giá.- Giá thầu có điểm số mong muốn cao nhất được trả về SAS, sau đó được chuyển tiếp đến mã JavaScript trên trang.
- Phiên đấu giá kết thúc trong trình duyệt bằng cách truyền kết quả phiên đấu giá B&A đã mã hoá vào lệnh gọi
navigator.runAdAuction()
.
Cấu hình phiên đấu giá
Bạn có thể định cấu hình phiên đấu giá Protected Audience bằng Dịch vụ B&A theo các cách sau:
- Phiên đấu giá của một người bán với người mua B&A
- Phiên đấu giá ở chế độ kết hợp với người mua trên thiết bị và người mua B&A
- Phiên đấu giá nhiều người bán có thể do thiết bị điều phối hoặc do máy chủ điều phối
Người tham gia
Để mô tả từng cấu hình phiên đấu giá, hướng dẫn này sử dụng các bên tham gia sau:
Người hoặc tổ chức tham gia | Mô tả |
---|---|
DSP-A |
Người mua trên thiết bị |
DSP-B |
Người mua trên thiết bị |
DSP-X |
Người mua B&A |
DSP-Y |
Người mua B&A |
SSP-TOP |
Người bán cấp cao nhất |
SSP-OD |
Người bán chỉ trên thiết bị |
SSP-BA |
Người bán chỉ bán hàng mới và hàng đã qua sử dụng |
SSP-MIX |
Người bán kết hợp nhiều phương tiện |
Có 4 DSP:
DSP-A
vàDSP-B
chỉ tham gia vào phiên đấu giá trên thiết bịDSP-X
vàDSP-Y
tham gia cả phiên đấu giá trên thiết bị và phiên đấu giá B&A
Có 4 SSP và mỗi người bán chạy một cấu hình phiên đấu giá khác nhau:
SSP-OD
chạy phiên đấu giá chỉ trên thiết bịSSP-BA
chạy phiên đấu giá chỉ dành cho B&ASSP-MIX
chạy phiên đấu giá ở chế độ kết hợpSSP-TOP
chạy phiên đấu giá nhiều người bán:SSP-OD/BA/MIX
tham gia với tư cách là người bán thành phần của phiên đấu giá nhiều người bán củaSSP-TOP
Phiên đấu giá B&A của một người bán
Trong chế độ thiết lập một người bán, một người bán sẽ chạy phiên đấu giá mà nhiều người mua tham gia. Nếu người bán đang chạy phiên đấu giá B&A, thì người mua phải chạy ngăn xếp người mua của Dịch vụ B&A để gửi giá thầu đến phiên đấu giá. Người mua và người bán không cần phải sử dụng cùng một nhà cung cấp dịch vụ đám mây.
Trong chế độ thiết lập trước, SSP-BA
chạy một phiên đấu giá B&A mà DSP-X
và DSP-Y
tham gia bằng cách sử dụng ngăn xếp người mua của Dịch vụ B&A. Trước tiên, Dịch vụ quảng cáo của người bán sẽ chạy phiên đấu giá theo bối cảnh cho DSP-X
và DSP-Y
, sau đó chạy phiên đấu giá Protected Audience bằng cách gửi yêu cầu SelectAd
đến Dịch vụ SFE của người bán. Giá thầu chiến thắng trong phiên đấu giá theo bối cảnh và các tín hiệu cho từng người mua được chuyển vào lệnh gọi SelectAd
. Sau đó, Dịch vụ SFE sẽ gửi các yêu cầu GetBids
đến BFE của DSP-X
và DSP-Y
. BFE này sẽ gọi Dịch vụ đặt giá thầu để tạo giá thầu.
Kết quả phiên đấu giá B&A đã mã hoá được trả về cho ứng dụng và được truyền vào lệnh gọi runAdAuction()
. Cấu hình phiên đấu giá của một người bán có dạng như sau:
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
})
Giá trị requestId
đến từ lệnh gọi getInterestGroupAdAuctionData()
trên ứng dụng và dữ liệu serverResponse
đến từ phiên đấu giá B&A phía máy chủ.
Phiên đấu giá ở chế độ kết hợp
Trong cấu hình chế độ kết hợp, người mua có thể tham gia phiên đấu giá của người bán trên thiết bị hoặc B&A. Các mũi tên màu xanh dương thể hiện đường dẫn phiên đấu giá trên thiết bị và các mũi tên màu đỏ thể hiện đường dẫn phiên đấu giá B&A:
Trong chế độ thiết lập này, DSP-A
và DSP-B
là những người mua gửi giá thầu trên thiết bị, còn DSP-X
và DSP-Y
là những người mua gửi giá thầu bằng B&A. Người mua trên thiết bị tham gia phiên đấu giá PA trên thiết bị trong trình duyệt và người mua B&A tham gia chế độ thiết lập phiên đấu giá B&A được mô tả trong phần phiên đấu giá của một người bán.
Phiên đấu giá theo bối cảnh được thực thi trước cho tất cả người mua để thu thập giá thầu chiến thắng trong phiên đấu giá theo bối cảnh và tín hiệu của người mua. Sau đó, phiên đấu giá B&A sẽ chạy và các tín hiệu của người mua từ phiên đấu giá theo bối cảnh sẽ được chuyển vào yêu cầu SelectAd
đến SFE. Kết quả phiên đấu giá B&A được mã hoá trả về từ SFE sẽ được chuyển tiếp đến trình duyệt. Sau phiên đấu giá B&A, kết quả của phiên đấu giá này sẽ được đưa vào phiên đấu giá trên thiết bị mà người mua trên thiết bị tham gia.
Cấu hình phiên đấu giá của một người bán ở chế độ kết hợp cho phần trên thiết bị của phiên đấu giá sẽ tương tự như sau:
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',
}
]
})
Tạo phiên bản song song của phiên đấu giá trên thiết bị và phiên đấu giá B&A
Nếu không có tính năng song song, các phiên đấu giá sẽ được thực thi tuần tự, trong đó phiên đấu giá theo bối cảnh sẽ chạy, sau đó là phiên đấu giá B&A và cuối cùng là phiên đấu giá trên thiết bị. Khi quá trình song song được triển khai, phiên đấu giá theo bối cảnh sẽ chạy lại trước tiên, nhưng kết quả và tín hiệu của phiên đấu giá này sẽ được truyền trở lại ứng dụng để bắt đầu phiên đấu giá trên thiết bị song song trước khi phiên đấu giá B&A kết thúc.
Mã JavaScript trong ứng dụng sẽ gửi yêu cầu phiên đấu giá hợp nhất đến SAS. Sau đó, SAS sẽ bắt đầu phiên đấu giá theo bối cảnh và phiên đấu giá B&A PA. Khi SAS nhận được phản hồi từ máy chủ RTB của người mua, các tín hiệu của người mua cho phiên đấu giá trên thiết bị có thể được truyền trở lại trình duyệt, cùng với người chiến thắng phiên đấu giá theo bối cảnh sau khi nhận được tất cả giá thầu. Các tín hiệu người mua được truyền trực tuyến được dùng để tạo giá thầu trên thiết bị và người chiến thắng trong phiên đấu giá theo bối cảnh được dùng làm giá thầu sàn khi tính điểm giá thầu.
Trong SAS, người bán tạo một số chỉ dùng một lần UUID được đặt trong tiêu đề phản hồi Ad-Auction-Result-Nonce
khi truyền trực tuyến dữ liệu phiên đấu giá theo ngữ cảnh đến trình duyệt. Cùng một số chỉ dùng một lần được dùng trong lệnh gọi SelectAd
đến SFE cho phiên đấu giá B&A và số chỉ dùng một lần đó được đưa vào phản hồi SelectAd
được trả về từ SFE. Trong giai đoạn đấu giá phía máy khách, trình duyệt xác minh rằng số chỉ dùng một lần trong tiêu đề phản hồi Ad-Auction-Result-Nonce
khớp với số chỉ dùng một lần trong tải trọng kết quả phiên đấu giá đã mã hoá.
Hãy xem nội dung giải thích để tìm hiểu thêm về tính năng song song ở chế độ kết hợp.
Phiên đấu giá nhiều người bán
Có hai cách để chạy phiên đấu giá nhiều người bán PA bằng B&A:
- Phiên đấu giá do thiết bị điều phối, trong đó lệnh gọi đến dịch vụ quảng cáo của từng người bán thành phần bắt nguồn từ trình duyệt
- Phiên đấu giá do máy chủ điều phối, trong đó lệnh gọi đến dịch vụ quảng cáo của từng người bán thành phần bắt nguồn từ dịch vụ quảng cáo của người bán cấp cao nhất
Phiên đấu giá nhiều người bán do thiết bị điều phối
Trong phiên đấu giá nhiều người bán do thiết bị điều phối, mỗi người bán thành phần có thể tự do chạy phiên đấu giá theo cấu hình mà họ chọn. Người bán trên thiết bị, người bán B&A và người bán ở chế độ kết hợp đều có thể tham gia phiên đấu giá cấp cao nhất.
Trong chế độ thiết lập này,
SSP-TOP
(là người bán cấp cao nhất) sẽ chạy một phiên đấu giá nhiều người bán mà SSP-OD
, SSP-BA
và SSP-MIX
tham gia:
SSP-OD
, người chạy phiên đấu giá PA chỉ trên thiết bị, sẽ gửi cấu hình phiên đấu giá thành phần trên thiết bị cho người bán cấp cao nhất.SSP-BA
, người chạy phiên đấu giá B&A, gửi yêu cầu phiên đấu giá hợp nhất đến Dịch vụ quảng cáo của người bán và chạy các phiên đấu giá theo bối cảnh và B&A của riêng mình. Kết quả sẽ được gửi cho người bán cấp cao nhất.SSP-MIX
, người chạy phiên đấu giá ở chế độ kết hợp, trước tiên sẽ thực thi phiên đấu giá B&A trên máy chủ, sau đó gửi cả kết quả phiên đấu giá B&A và cấu hình phiên đấu giá trên thiết bị.
Người bán cấp cao nhất thu thập cấu hình phiên đấu giá thành phần từ mỗi người bán và tạo một cấu hình phiên đấu giá tương tự như sau:
await navigator.runAdAuction({
seller: 'https://ssp-top.example',
decisionLogicURL: 'https://ssp-top.example/score-ad.js',
componentAuctions: [
// SSP-BA's B&A-only auction
{
seller: 'https://ssp-ba.example',
requestId: 'g8312cb2-da2d-4e9b-80e6-e13dec2a581c',
serverResponse: Uint8Array(560) [193, 120, 4, …] // Encrypted B&A auction result
},
// SSP-MIX's B&A auction of mixed-mode
{
seller: 'https://ssp-mix.example',
requestId: 'f5135cb2-da2d-4e9b-80e6-e13dec2a581c',
serverResponse: Uint8Array(560) [133, 20, 4, …] // Encrypted B&A auction result
}.
// SSP-MIX's on-device auction of mixed-mode
{
seller: 'https://ssp-mix.example',
interestGroupBuyers: ['https://dsp-a.example', 'https://dsp-b.example'],
decisionLogicURL: 'https://ssp-mix.example/score-ad.js',
}
// SSP-OD's on-device auction
{
seller: 'https://ssp-od.example',
interestGroupBuyers: ['https://dsp-a.example', 'https://dsp-b.example'],
decisionLogicURL: 'https://ssp-od.example/score-ad.js',
}
]
})
Phiên đấu giá nhiều người bán do máy chủ điều phối
Trong phiên đấu giá nhiều người bán do máy chủ điều phối, các lệnh gọi đến dịch vụ quảng cáo của người bán thành phần được thực hiện từ dịch vụ quảng cáo của người bán cấp cao nhất. Trong chế độ thiết lập này, người bán thành phần không thể chạy phiên đấu giá trên thiết bị hoặc phiên đấu giá ở chế độ kết hợp; tất cả người bán phải sử dụng B&A và tất cả người mua phải gửi giá thầu bằng B&A.
Trong sơ đồ này, SSP-TOP
chạy một phiên đấu giá nhiều người bán do máy chủ điều phối mà SSP-BA-X
và SSP-BA-Y
tham gia.
Một yêu cầu đấu giá hợp nhất duy nhất chứa tải trọng đấu giá theo bối cảnh và PA cho tất cả người tham gia được gửi từ trình duyệt đến dịch vụ quảng cáo của người bán cấp cao nhất. Sau đó, SAS thực hiện lệnh gọi GetComponentAuctionCiphertexts
đến SFE bằng tải trọng. SFE sẽ giải mã tải trọng, tách tải trọng theo từng người bán thành phần và trả về tải trọng đã mã hoá lại cho SAS của người bán cấp cao nhất.
Sau đây là định nghĩa proto cho yêu cầu và phản hồi 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;
}
Với tải trọng của từng người bán thành phần, SAS của người bán cấp cao nhất sẽ gọi SAS của người bán thành phần và mỗi SAS thành phần sẽ thực thi phiên đấu giá B&A của thành phần đó. Sau đó, kết quả của các phiên đấu giá thành phần sẽ được trả về cho SFE của người bán cấp cao nhất và giá thầu của phiên đấu giá thành phần sẽ được Dịch vụ đấu giá của người bán cấp cao nhất tính điểm. Giá thầu có điểm số mong muốn cao nhất được trả về cho SFE và tải trọng đã mã hoá đó được gửi đến SAS để trả về cho ứng dụng. Trong trình duyệt, người bán cấp cao nhất sẽ kết thúc phiên đấu giá bằng cách gọi navigator.runAdAuction()
và cung cấp tải trọng kết quả phiên đấu giá phía máy chủ đã mã hoá.
Các bước tiếp theo
Sau khi đọc hướng dẫn này, bạn có thể thực hiện các bước tiếp theo:
Tìm hiểu thêm
- Để hiểu rõ hơn về cách hoạt động của B&A cho Protected Audience, hãy xem các nội dung giải thích sau trên GitHub:
- Thử nghiệm Protected Audience với B&A bằng cách tham gia Lớp học lập trình về kiểm thử cục bộ toàn diện.
- Để tích hợp với người bán, hãy xem bài viết Tích hợp với B&A với tư cách là người bán.
Bạn có câu hỏi?
- Đặt câu hỏi về Dịch vụ đặt giá thầu và đấu giá bằng cách mở một vấn đề trong kho lưu trữ Dịch vụ B&A.
- Hãy đặt câu hỏi chung về Hộp cát về quyền riêng tư bằng cách mở một vấn đề trong kho lưu trữ hỗ trợ phát triển privacy-sandbox-dev.