Hướng dẫn và tài liệu tham khảo về Seller API cho phiên đấu giá quảng cáo Protected Audience API.
Trong bài viết này, bạn sẽ tìm thấy tài liệu tham khảo kỹ thuật về phiên đấu giá quảng cáo, được sử dụng trong phiên bản lặp lại hiện tại của Protected Audience API thử nghiệm.
Hãy đọc hướng dẫn dành cho nhà phát triển để biết toàn bộ vòng đời của Protected Audience API và tham khảo tài liệu giải thích về Protected Audience API để thảo luận chuyên sâu về cách người bán chạy phiên đấu giá trên thiết bị.
Bạn không phải là nhà phát triển? Hãy tham khảo tổng quan về Protected Audience API.
Phiên đấu giá quảng cáo Protected Audience API là gì?
Phiên đấu giá quảng cáo Protected Audience API là một tập hợp các chương trình JavaScript nhỏ mà trình duyệt chạy trên thiết bị của người dùng để chọn quảng cáo. Để bảo vệ quyền riêng tư, tất cả mã phiên đấu giá quảng cáo của người bán và người mua đều chạy trong worklet JavaScript riêng biệt không thể giao tiếp với bên ngoài.

- Một người dùng truy cập vào một trang web hiển thị quảng cáo.
- Mã của người bán thực thi
navigator.runAdAuction()
. Thông tin này chỉ định không gian quảng cáo nào đang được bán và ai có thể đặt giá thầu. Người bán cũng phải thêm một tập lệnh để tính điểm cho từng giá thầu,scoreAd()
. - Mã của người mua được mời sẽ thực thi để tạo giá thầu, URL cho mẫu quảng cáo phù hợp và dữ liệu khác. Tập lệnh đặt giá thầu có thể truy vấn dữ liệu theo thời gian thực, chẳng hạn như ngân sách còn lại của chiến dịch quảng cáo, từ Dịch vụ khoá/giá trị của người mua.
- Mã của người bán sẽ tính điểm cho từng giá thầu và chọn một giá thầu chiến thắng. Logic này sử dụng giá trị giá thầu và dữ liệu khác để trả về mức độ mong muốn của giá thầu. Những quảng cáo không thể đánh bại quảng cáo chiến thắng theo bối cảnh sẽ bị từ chối. Người bán có thể sử dụng dịch vụ Khoá/Giá trị của riêng mình để lấy dữ liệu theo thời gian thực.
- Quảng cáo chiến thắng được trả về dưới dạng một giá trị mờ, hiển thị trong một khung có hàng rào. Cả người bán và nhà xuất bản đều không thể xem giá trị này.
- Phiên đấu giá được báo cáo cho người bán và người mua chiến thắng.
Phiên đấu giá diễn ra khi nào?
Bạn có thể chạy Protected Audience API riêng lẻ hoặc cùng với phiên đấu giá có lập trình. Trong phiên đấu giá có lập trình, nhiều người bán:
- Người dùng truy cập vào một trang web tham gia chương trình.
- Một người bán khác sẽ chạy phiên đấu giá có lập trình để tìm quảng cáo theo bối cảnh cho một vị trí quảng cáo có sẵn.
- Phiên đấu giá Protected Audience API được chạy.
scoreAd()
so sánh giá thầu của người mua với kết quả của phiên đấu giá đầu tiên.
Những giá thầu không thể đánh bại giá thầu chiến thắng theo bối cảnh sẽ bị từ chối.
Ai chạy phiên đấu giá quảng cáo Protected Audience API?
Có nhiều bên có thể chạy phiên đấu giá để bán không gian quảng cáo.
Ví dụ:
- Nhà xuất bản nội dung: tự hành động để lưu trữ nội dung quảng cáo trên trang web của mình.
- Nền tảng bên cung (SSP): hợp tác với nhà xuất bản và cung cấp các dịch vụ khác.
- Tập lệnh của bên thứ ba: hành động thay mặt cho nhà xuất bản để cho phép tham gia phiên đấu giá quảng cáo.
Với Protected Audience API, người bán có 3 nhiệm vụ:
- Thực thi quy tắc của nhà xuất bản: những người mua và giá thầu nào đủ điều kiện.
- Chạy logic phiên đấu giá: JavaScript chạy trong worklet để tính toán điểm mong muốn cho mỗi giá thầu.
- Báo cáo kết quả phiên đấu giá.
Các công việc này được thực hiện theo phương thức lập trình, trong mã do người bán cung cấp khi kích hoạt phiên đấu giá quảng cáo bằng cách gọi hàm JavaScript navigator.runAdAuction()
.
Hàm API
runAdAuction()
Người bán gửi yêu cầu đến trình duyệt của người dùng để bắt đầu phiên đấu giá quảng cáo bằng cách gọi navigator.runAdAuction()
.
Ví dụ:
const auctionConfig = {
seller: 'https://ssp.example',
decisionLogicUrl: ...,
trustedScoringSignalsUrl: ...,
interestGroupBuyers: ['https://dsp.example', 'https://buyer2.example', ...],
auctionSignals: {...},
sellerSignals: {...},
sellerTimeout: 100,
perBuyerSignals: {
'https://dsp.example': {...},
'https://another-buyer.example': {...},
...
},
perBuyerTimeouts: {
'https://dsp.example': 50,
'https://another-buyer.example': 200,
'*': 150,
...
},
componentAuctions: [
{
'seller': 'https://some-other-ssp.example',
'decisionLogicUrl': ...,
...
},
...
]
};
try {
const auctionResultPromise = navigator.runAdAuction(auctionConfig);
} catch (error) {
// Handle error.
}
runAdAuction()
trả về một lời hứa phân giải thành URN (urn:uuid:<something>
) đại diện cho kết quả phiên đấu giá quảng cáo. Trình duyệt chỉ có thể giải mã thông tin này khi được chuyển đến một khung có hàng rào để hiển thị: trang của nhà xuất bản không thể kiểm tra quảng cáo chiến thắng.
Tập lệnh decisionLogicUrl
xem xét từng quảng cáo riêng lẻ, cùng với giá thầu và siêu dữ liệu liên quan, sau đó chỉ định cho quảng cáo đó một điểm số mong muốn dạng số.
auctionConfig
cơ sở lưu trú
seller
- Bắt buộc
- Ví dụ:
'https://ssp.example'
- Vai trò: Nguồn gốc của người bán.
decisionLogicUrl
- Bắt buộc
- Ví dụ:
'https://ssp.example/auction-decision-logic.js'
- Vai trò: URL cho JavaScript của worklet phiên đấu giá.
trustedScoringSignalsUrl
- Không bắt buộc
- Ví dụ:
'https://ssp.example/scoring-signals'
- Vai trò: URL của máy chủ đáng tin cậy của người bán.
interestGroupBuyers
- Bắt buộc
- Ví dụ:
['https://dsp.example', 'https://buyer2.example', ...]
- Vai trò: Nguồn gốc của tất cả chủ sở hữu nhóm mối quan tâm được yêu cầu đặt giá thầu trong phiên đấu giá.
- Lưu ý: Người bán có thể chỉ định
interestGroupBuyers:
để cho phép tất cả các nhóm mối quan tâm đặt giá thầu. Sau đó, quảng cáo sẽ được chấp nhận hoặc từ chối dựa trên các tiêu chí khác ngoài việc có chủ sở hữu nhóm đối tượng có cùng mối quan tâm hay không. Ví dụ: người bán có thể xem xét mẫu quảng cáo để xác nhận việc tuân thủ chính sách của họ. auctionSignals
- Không bắt buộc
- Ví dụ:
{...}
- Vai trò: Thông tin của người bán về bối cảnh trang, loại phiên đấu giá, v.v.
sellerSignals
- Không bắt buộc
- Ví dụ:
{...}
- Vai trò: Thông tin dựa trên chế độ cài đặt của nhà xuất bản, tạo yêu cầu quảng cáo theo bối cảnh, v.v.
sellerTimeout
- Không bắt buộc
- Ví dụ:
100
- Vai trò: Thời gian chạy tối đa (ms) của tập lệnh
scoreAd()
của người bán. perBuyerSignals
- Không bắt buộc
- Ví dụ:
{'https://dsp.example': {...}, 'https://another-buyer.example': {...}, ... }
- Vai trò: Tín hiệu theo bối cảnh về trang cho từng người mua cụ thể, từ máy chủ của họ.
perBuyerTimeouts
- Không bắt buộc
- Ví dụ:
50
- Vai trò: Thời gian chạy tối đa (ms) của tập lệnh
generateBid()
của một người mua cụ thể. componentAuctions
- Không bắt buộc
- Ví dụ:
[{'seller': 'https://www.some-other-ssp.com', 'decisionLogicUrl': ..., ...}, ...]
- Vai trò: Cấu hình bổ sung cho phiên đấu giá thành phần.
decisionLogicUrl
decisionLogicUrl
là một thuộc tính của đối tượng cấu hình phiên đấu giá, được truyền đến runAdAuction()
. URL này phải bao gồm một tập lệnh cho hàm scoreAd()
. Logic này được chạy một lần cho mỗi quảng cáo để xác định mức độ mong muốn của quảng cáo.
scoreAd(adMetadata, bid, auctionConfig, trustedScoringSignals, browserSignals) {
...
return desirabilityScoreForThisAd;
}
browserSignals
browserSignals
là một đối tượng do trình duyệt tạo, bao gồm thông tin mà trình duyệt biết và tập lệnh đấu giá của người bán có thể muốn xác minh:
{
topWindowHostname: 'publisher.example',
interestGroupOwner: 'https://dsp.example',
renderUrl: 'https://cdn.example/render',
adComponents: ['https://cdn.com/ad-component-1', ...],
biddingDurationMsec: 12,
dataVersion: 1 /* DValue from the seller's Key/Value service response. */
}
Trước khi phiên đấu giá bắt đầu, người bán sẽ tìm quảng cáo theo bối cảnh phù hợp nhất cho vị trí quảng cáo có sẵn. Một phần logic scoreAd()
từ chối mọi quảng cáo không thể đánh bại quảng cáo chiến thắng theo bối cảnh.
scoreAd()
scoreAd()
nhận các đối số sau:
Đối số | Vai trò |
---|---|
adMetadata |
Siêu dữ liệu tuỳ ý do người mua cung cấp. |
auctionConfig |
Đối tượng cấu hình phiên đấu giá được truyền đến navigator.runAdAuction() . |
bid |
Giá trị giá thầu dạng số. |
trustedScoringSignals |
Các giá trị được truy xuất tại thời điểm đấu giá từ máy chủ đáng tin cậy của người bán, thể hiện ý kiến của người bán về quảng cáo. |
Câu hỏi thường gặp
Làm cách nào để xác định người chiến thắng trong phiên đấu giá và ai sẽ chọn họ?
Người bán cung cấp logic tính điểm để xác định điểm số về mức độ mong muốn của mỗi quảng cáo và trình duyệt sẽ chọn điểm số cao nhất làm quảng cáo chiến thắng.
Người bán đưa logic vào hàm scoreAd()
và trình duyệt thực thi hàm đó trong một worklet có khả năng giao tiếp hạn chế với mã bên ngoài. Bản thân trình duyệt không tính điểm cho quảng cáo. Trình duyệt chịu trách nhiệm duy nhất trong việc thực thi logic tính điểm và chọn giá thầu có điểm cao nhất.
Tất cả tài liệu tham khảo về Protected Audience API
Hướng dẫn tham khảo API có sẵn:
- Hướng dẫn dành cho nhà phát triển về Protected Audience API.
- Hướng dẫn cho người mua quảng cáo về các nhóm mối quan tâm và cách tạo giá thầu trong Protected Audience.
- Hướng dẫn dành cho người bán quảng cáo về phiên đấu giá quảng cáo trong Protected Audience.
- Hướng dẫn báo cáo kết quả phiên đấu giá
- Các phương pháp hay nhất cho độ trễ của phiên đấu giá quảng cáo trong Protected Audience
- Khắc phục sự cố với Protected Audience
Thông tin giải thích về Protected Audience API cũng cung cấp thông tin chi tiết về các quy tắc hỗ trợ và các quy tắc ràng buộc của tính năng.