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 duy nhất, như được dùng trong lầ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 hiện 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 duy nhất đượ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.

Đọc hướng dẫn 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 để biết thông tin 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ị.

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

Sáu 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(). Điều này chỉ định không gian quảng cáo nào được bán và những người 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 có liên quan và các 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 ra giá thầu giành 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 độ phù hợp 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 cho 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ị không minh bạch, xuất hiện trong một khung được phân vùng. 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. Các phiên đấu giá có thể được chạy trước thời gian để 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 giành 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ể đề cập đến:

  • 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
  • Cá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 vào các 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 2 hàm JavaScript để chạy một phiên đấu giá:

  • scoreAd(), 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

Người bán cần phân phát các tập lệnh này từ một điểm cuối duy nhất mà họ 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 có thể chuyển đổi tuần tự JSON mà người bán và người mua sẽ cần xác định và thoả thuận về cấu trúc.
  • bid, là một giá trị bằng số biểu thị giá thầu.
  • auctionConfig, là cấu hình phiên đấu giá được dùng để thực thi phiên đấu giá.
  • trustedScoringSignals là những 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 hoạt động tìm kiếm 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: Tương tự 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à một 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 đấu giá được 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à đối tượng tương tự đượ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. Thông tin 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 một 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 một điểm cuối để trả về JavaScript bắt buộc như đã đề 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 người 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 hiển thị để cho thấy một quảng cáo.
  3. Kết xuất quảng cáo thắng thầu trong một khung được phân vùng hoặc iframe.
  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 như mô tả trước đó trong hướng dẫn này để báo cáo cho máy chủ của họ.