Báo cáo gỡ lỗi cho Protected Audience

Tính năng báo cáo gỡ lỗi Protected Audience cho phép nhà phát triển công nghệ quảng cáo khai báo các URL từ xa để nhận yêu cầu GET từ các thiết bị khi một phiên đấu giá thắng hoặc thua. Tính năng này hỗ trợ các trường hợp sử dụng sau đây:

  • Nhận báo cáo cho phiên đấu giá có kết quả thắng và thua.
  • Hiểu lý do khiến phiên đấu giá bị thua. Ví dụ: Tìm hiểu xem đó là vấn đề về việc triển khai tập lệnh đặt giá thầu hoặc tính điểm hay vấn đề về logic chính.
  • Tìm hiểu các vấn đề khi logic JavaScript được cập nhật

Bạn có thể kiểm thử tính năng báo cáo gỡ lỗi ở cấp sự kiện trong Bản dùng thử cho nhà phát triển 9 dành cho Hộp cát về quyền riêng tư. Mọi thiết bị có mã nhận dạng cho quảng cáo đều hỗ trợ tính năng báo cáo gỡ lỗi.

Kế hoạch dài hạn là để giúp nền tảng này báo cáo kết quả của phiên đấu giá bằng dịch vụ Tổng hợp riêng tư. Điều này đảm bảo rằng báo cáo sau dữ kiện không được dùng để kết hợp đối tượng tuỳ chỉnh của từng người dùng với ứng dụng của nhà xuất bản. Báo cáo ở cấp sự kiện là báo cáo mang tính tạm thời cho đến khi một khung báo cáo đầy đủ được phát hành.

Tìm hiểu thêm về báo cáo gỡ lỗi trong đề xuất FLEDGE ban đầu của Chrome về bản dùng thử theo nguyên gốc.

Mức sử dụng

Báo cáo gỡ lỗi được triển khai bằng các API JavaScript sau đây, cả hai API này đều lấy một đối số chuỗi URL:

  • forDebuggingOnly.reportAdAuctionWin(String url)
  • forDebuggingOnly.reportAdAuctionLoss(String url)

Ví dụ sau đây báo cáo một sự kiện thua trong phiên đấu giá quảng cáo với giá thầu giành chiến thắng và một biến nội bộ. Sau đó, dữ liệu này có thể được dùng cho các mục đích gỡ lỗi.

let someDebuggableVariable = 123;
const url = "https://example.com/reportLoss?winningBid=${winningBid}&someDebuggableVariable=" + someDebuggableVariable;
forDebuggingOnly.reportAdAuctionLoss(url);

Mẫu ${winningBid} được thay thế bằng giá trị thực sau khi phiên đấu giá hoàn tất.

Người bán có thể tuỳ ý trả về một rejectReason từ hàm scoreAds:

function scoreAd(ad, bid, auction_config, seller_signals,
                 trusted_scoring_signals, contextual_signal,
                 custom_audience_signal) {
  let score = ...
  return {
    'status': 0,
    'score': score,
    'rejectReason': 'blocked-by-publisher'
  }
}

Nếu người bán không đặt một lý do từ chối, thì not-available sẽ được gửi.

Biến URL

Các biến có thể được thêm vào URL gỡ lỗi tương ứng với các biến trong Chrome (mặc dù ${topLevelWinningBid}${topLevelMadeWinningBid} không có sẵn vì chưa có khái niệm về phiên đấu giá thành phần trên Android).

Tên biến Nội dung mô tả
winningBid Giá trị của giá thầu giành chiến thắng.
madeWinningBid Một giá trị boolean cho biết liệu người mua thuộc đối tượng tuỳ chỉnh này đã đặt giá thầu giành chiến thắng thông qua đối tượng tuỳ chỉnh này hay một đối tượng tuỳ chỉnh khác có cùng một người mua.
highestScoringOtherBid Giá trị giá thầu được tập lệnh scoreAd của người bán tính điểm cao thứ hai. Lưu ý rằng đây có thể không phải là giá trị giá thầu cao thứ hai, vì điểm số và giá thầu có thể độc lập.
madeHighestScoringOtherBid Một giá trị boolean cho biết người mua thuộc đối tượng tuỳ chỉnh này đã đặt giá thầu ${highestScoringOtherBid} thông qua đối tượng tuỳ chỉnh này hay một đối tượng tuỳ chỉnh khác có cùng một người mua.
rejectReason Một chuỗi do người bán đặt một cách tuỳ ý, giải thích lý do họ từ chối một giá thầu. Có thể là bất cứ giá trị nào sau đây:

  • not-available
  • invalid-bid
  • bid-below-auction-floor
  • pending-approval-by-exchange
  • disapproved-by-exchange
  • blocked-by-publisher
  • language-exclusions
  • category-exclusions

Giới hạn

  • Máy chủ URL phải khớp với miền đã đăng ký của bạn cho Hộp cát về quyền riêng tư.
  • URL không được vượt quá 4.096 ký tự, bao gồm cả miền, tiền tố https:// và dữ liệu phiên đấu giá thay thế.
  • Trong các bản phát hành sau này, ping gỡ lỗi chỉ được gửi khi được kết nối với Wi-Fi.

Hành vi trên thiết bị

Trong môi trường thiết bị di động, ưu tiên chính sẽ là bảo vệ bộ nhớ và hoạt động sử dụng mạng. Do vậy, báo cáo gỡ lỗi sẽ xuất hiện theo lô.

Các thuộc tính hệ thống sau đây kiểm soát tốc độ và kích thước lô. Đây là các giá trị có thể điều chỉnh xuống mức thấp hơn để phát triển:

  • fledge_event_level_debug_reporting_batching_rate
  • fledge_event_level_debug_reporting_batch_size

Độ trễ dự kiến của một báo cáo gỡ lỗi là từ 15 đến 60 phút sau khi phiên đấu giá hoàn tất.

Không có gì đảm bảo về tính hoàn chỉnh của báo cáo gỡ lỗi. Nếu thiết bị khởi động lại hoặc quy trình dịch vụ quảng cáo gặp sự cố trước khi gửi lệnh gọi đến máy chủ, thì những sự kiện này sẽ bị loại bỏ.

Mỗi công nghệ quảng cáo có một giới hạn tối đa là 75 URL gỡ lỗi được đăng ký cho mỗi phiên đấu giá. Các URL được đăng ký sau khi đạt giới hạn đó sẽ tự động bị loại bỏ.

Cuối cùng, nếu người dùng đã tắt AdId, thì báo cáo gỡ lỗi sẽ được gửi. Tính năng này chưa được triển khai trong Bản dùng thử cho nhà phát triển 9, nhưng sẽ được triển khai trong các phiên bản trong tương lai.

Hành vi của máy chủ công nghệ quảng cáo

Máy chủ công nghệ quảng cáo cần có các hành vi sau đây để báo cáo gỡ lỗi:

  • Thiết bị gửi các yêu cầu GET tới máy chủ mà bạn chỉ định bằng các API forDebuggingOnly.*.
  • Mỗi yêu cầu đại diện cho một báo cáo gỡ lỗi ở cấp sự kiện: một sự kiện thua trong phiên đấu giá hoặc sự kiện thắng trong phiên đấu giá quảng cáo.
  • Mỗi yêu cầu không có nội dung. Mọi dữ liệu đều nằm trong tham số truy vấn.
  • Tải trọng phản hồi lớn có thể tác động tiêu cực đến hiệu suất và mức sử dụng dữ liệu và tải trọng này sẽ bị bỏ qua.