Chạy phiên đấu giá dựa trên trình duyệt với một người bán

Trong tài liệu này, bạn sẽ thấy thông tin tổng quan cấp cao về cách chạy phiên đấu giá bằng dữ liệu Protected Audience cho một người bán, như được sử dụng trong phiên bản lặp lại hiện tại của Protected Audience API. Một phiên đấu giá có một người bán có thể được thực thi trong một phiên đấu giá phức tạp hơn có nhiều người bán. Trong trường hợp này, phiên đấu giá của một người bán được gọi là "phiên đấu giá thành phần", có thể cung cấp các đề xuất quảng cáo cho "phiên đấu giá cấp cao nhất" có nhiều người bán tham gia.

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, đồng thời 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ị.

6 giai đoạn của phiên đấu giá quảng cáo Protected Audience API

6 giai đoạn trong phiên đấu giá quảng cáo Protected Audience API
Sơ đồ này trình bày từng giai đoạn của phiên đấu giá quảng cáo Protected Audience API.
  1. Một người dùng truy cập vào một trang web hiển thị quảng cáo.
  2. 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().
  3. 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.
  4. 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.
  5. 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.
  6. 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á có thể diễn ra khi người dùng chuyển đến một trang hiển thị quảng cáo. Bạn có thể chạy phiên đấu giá trước để mẫu quảng cáo sẵn sàng khi vị trí quảng cáo xuất hiện.

Người bán bắt đầu phiên đấu giá quảng cáo, tính điểm quảng cáo đề xuất bằng logic tuỳ chỉnh được cung cấp dưới dạng hàm scoreAd() và chịu trách nhiệm báo cáo kết quả của phiên đấu giá cho chính họ cũng như người mua chiến thắng. Người bán cũng có thể thực thi các quy tắc của nhà xuất bản và lọc chất lượng quảng cáo bằng cách sử dụng hàm scoreAd().

Người bán có thể tham khảo:

  • Nhà xuất bản nội dung, tự mình 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), làm việc với nhà xuất bản quảng cáo và cung cấp các dịch vụ khác
  • Tập lệnh của bên thứ ba, thay mặt cho nhà xuất bản để cho phép tham gia phiên đấu giá quảng cáo.

Điều kiện tiên quyết để chạy phiên đấu giá

Người bán cần xác định hai hàm JavaScript để chạy phiên đấu giá:

  • scoreAd(), giúp tính điểm cho một đề xuất quảng cáo
  • reportResult(), xử lý việc báo cáo kết quả của phiên đấu giá cho chính người bán

Các tập lệnh này cần được phân phát từ một điểm cuối duy nhất mà người bán sở hữu.

scoreAd()

Người bán cần xác định một hàm scoreAd() được phân phát từ một điểm cuối mà họ sở hữu. Điểm cuối được chỉ định trong cấu hình phiên đấu giá dưới dạng decisionLogicUrl. Hàm scoreAd() có chữ ký sau:

scoreAd(
  adMetadata,
  bid,
  auctionConfig,
  trustedScoringSignals,
  browserSignals,
  directFromSellerSignals)

Các tham số scoreAd() là:

  • adMetaData, là siêu dữ liệu tuỳ ý về mẫu quảng cáo do người mua cung cấp. Đây là một đối tượng JSON có thể chuyển đổi tuần tự mà người bán và người mua cần xác định và đồng ý về cấu trúc.
  • bid, là một giá trị số đại diện cho giá thầu.
  • auctionConfig là cấu hình phiên đấu giá dùng để thực thi phiên đấu giá.
  • trustedScoringSignals là các tín hiệu được đọc tại thời điểm đấu giá từ Máy chủ khoá/giá trị của người bán. Nền tảng sẽ sử dụng renderUrl của quảng cáo đề xuất làm khoá cho lượt tra cứu này.
  • browserSignals là một đối tượng do trình duyệt tạo, bao gồm cả 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.
  • directFromSellerSignals là một đối tượng có thể chứa các trường sau: ** sellerSignals: Giống như auctionConfig.sellerSignals, nhưng được truyền bằng cơ chế directFromSellerSignals. ** auctionSignals: Giống như auctionConfig.auctionSignals, nhưng được truyền bằng cơ chế directFromSellerSignals.

Sau đây là ví dụ về browserSignals. Xin lưu ý rằng renderUrl của quảng cáo đề xuất có sẵn thông qua các tín hiệu sau:

{ 'topWindowHostname': 'www.example-publisher.com',
  'interestGroupOwner': 'https://www.example-buyer.com',
  'renderURL': 'https://cdn.com/render_url_of_bid',
  'renderSize': {width: 100, height: 200}, /* if specified in the bid */
  'adComponents': ['https://cdn.com/ad_component_of_bid',
                   'https://cdn.com/next_ad_component_of_bid',
                   ...],
  'biddingDurationMsec': 12,
  'bidCurrency': 'USD', /* bidCurrency returned by generateBid, or '???' if none */
  'dataVersion': 1, /* Data-Version value from the trusted scoring signals server's response */
}

reportResult()

Người bán cần xác định một hàm reportResult() được phân phát từ một điểm cuối mà họ sở hữu. Điểm cuối được chỉ định trong cấu hình phiên đấu giá dưới dạng decisionLogicUrl. Hàm reportResult() có chữ ký sau:

reportResult(auctionConfig, browserSignals) {
  ...
  return signalsForWinner;
}

Các tham số reportResult() là:

  • auctionConfig là cấu hình phiên đấu giá dùng để thực thi phiên đấu giá.
  • browserSignals là một đối tượng do trình duyệt tạo, bao gồm cả 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. Đây là cùng một đối tượng được truyền đến hàm scoreAds().

reportResult() trả về signalsForWinner, đây là một đối tượng JSON tuỳ ý được truyền đến hàm báo cáo của người mua chiến thắng. Báo cáo này phải bao gồm mọi thông tin liên quan mà người bán có thể cung cấp về phiên đấu giá mà người mua yêu cầu để báo cáo.

Chạy phiên đấu giá Protected Audience API

Người bán phải thực hiện 4 bước chính để chạy phiên đấu giá. Xin lưu ý rằng các bước này giả định người bán đã thiết lập điểm cuối để trả về JavaScript bắt buộc được đề cập trước đó trong hướng dẫn này.

  1. Định cấu hình phiên đấu giá. Bước này bao gồm việc tạo một đối tượng auctionConfig. Điều này cho phép người bán chỉ định bên mua nào sẽ tham gia phiên đấu giá, cũng như cung cấp mọi tín hiệu có thể liên quan trong quá trình tạo giá thầu hoặc tính điểm quảng cáo.
  2. Thực thi phiên đấu giá bằng cách gọi navigator.runAdAuction(), truyền vào cấu hình được tạo ở bước trước. Thao tác này sẽ bắt đầu chuỗi người mua tạo giá thầu, sau đó tính điểm. Kết quả cuối cùng của bước này là một đề xuất quảng cáo có thể được kết xuất để hiển thị quảng cáo.
  3. Hiển thị quảng cáo chiến thắng trong một khung hoặc iframe được phân vùng.
  4. Báo cáo kết quả của phiên đấu giá. Có một hàm navigator.sendReportTo() sẽ bắt đầu báo cáo. Người bán sẽ luôn nhận được báo cáo về kết quả đấu giá. Chỉ người mua đã thắng phiên đấu giá mới nhận được báo cáo. Thao tác này sử dụng reportResult() của người bán được mô tả trước đó trong hướng dẫn này để báo cáo cho máy chủ của họ.