Protected Audience API: hướng dẫn cho nhà phát triển

Hướng dẫn dành cho nhà phát triển về phiên đấu giá quảng cáo trên thiết bị để phân phát đối tượng tái tiếp thị và đối tượng tuỳ chỉnh mà không cần theo dõi bên thứ ba trên nhiều trang web.

Đối với những người mới sử dụng Protected Audience API, hãy đọc bài viết Tổng quan về Protected Audience API để nắm được nội dung giải thích tổng quan về API này.

Bài đăng này là dành cho các nhà phát triển để tham khảo kỹ thuật về phiên bản mới nhất của Protected Audience API thử nghiệm. Đã có bản minh hoạ về quá trình triển khai Protected Audience API cơ bản, cũng như tài liệu tham khảo API cho người mua và người bán quảng cáo.

Trạng thái triển khai

Để nhận thông báo về các thay đổi về trạng thái trong API, hãy tham gia danh sách gửi thư dành cho nhà phát triển.

Protected Audience API là gì?

Protected Audience API là một API Hộp cát về quyền riêng tư được thiết kế để phục vụ các trường hợp sử dụng đối tượng tái tiếp thị và đối tượng tuỳ chỉnh, được thiết kế sao cho các bên thứ ba không thể sử dụng API này nhằm theo dõi hành vi duyệt web của người dùng trên các trang web. API này cho phép trình duyệt chọn đấu giá trên thiết bị để chọn quảng cáo phù hợp cho những trang web mà người dùng đã truy cập trước đó.

Protected Audience API là thử nghiệm đầu tiên được triển khai trong Chromium trong nhóm đề xuất TURTLEDOVE.

Dùng thử Protected Audience API

Tài liệu tham khảo API hiện có

Tài liệu này đóng vai trò là thông tin tổng quan về Protected Audience API. Nếu bạn đang tìm các phương thức và tham số cụ thể của API:

Bạn cũng có thể đọc Các phương pháp hay nhất về độ trễ cho phiên đấu giá quảng cáo của Protected Audience API.

Bản minh hoạ Protected Audience API

Bạn có thể xem hướng dẫn từng bước về cách triển khai Protected Audience API cơ bản trên các trang web của nhà quảng cáo và nhà xuất bản tại Protected-audience-demo.web.app/.

Xem toàn bộ quá trình triển khai toàn diện này để tìm hiểu cách hoạt động của mã minh hoạ của Protected Audience API và cách sử dụng Công cụ của Chrome cho nhà phát triển để gỡ lỗi.

Kiểm thử với chrome://flags hoặc cờ tính năng

Bạn có thể kiểm thử Protected Audience API cho một người dùng trong Chrome Beta 101.0.4951.26 trở lên trên máy tính:

Hiển thị quảng cáo trong iframe hoặc khung bảo vệ

Quảng cáo có thể hiển thị trong <iframe> hoặc <fencedframe>, tuỳ thuộc vào việc bạn đặt cờ nào.

Cách sử dụng <fencedframe> để hiển thị quảng cáo:

--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,FencedFrames

Cách sử dụng <iframe> để hiển thị quảng cáo:

--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,AllowURNsInIframes --disable-features=FencedFrames

Thêm cờ BiddingAndScoringDebugReportingAPI để bật các phương thức báo cáo thất bại/thắng gỡ lỗi tạm thời.

Tính năng được hỗ trợ

Protected Audience API sử dụng cờ tính năng trong Chromium là thử nghiệm đầu tiên để kiểm thử các tính năng sau của Protected Audience API:

  • Nhóm mối quan tâm: do trình duyệt lưu trữ và có siêu dữ liệu liên kết để định cấu hình tính năng đặt giá thầu và hiển thị quảng cáo.
  • Đặt giá thầu trên thiết bị của người mua (DSP hoặc nhà quảng cáo): dựa trên các nhóm mối quan tâm đã lưu trữ và tín hiệu từ người bán.
  • Lựa chọn quảng cáo trên thiết bị của người bán (SSP hoặc nhà xuất bản): dựa trên giá thầu trong phiên đấu giá và siêu dữ liệu từ người mua.
  • Hiển thị quảng cáo trong phiên bản tạm thời thoải mái của Khung bảo vệ: cho phép truy cập mạng và ghi nhật ký để hiển thị quảng cáo.

Đọc thêm về hỗ trợ và các quy tắc ràng buộc đối với tính năng trong tài liệu giải thích về Protected Audience API.

Quyền đối với nhóm mối quan tâm

Theo mặc định, đối với cách triển khai Protected Audience API hiện tại, hãy cho phép gọi joinAdInterestGroup() từ mọi nơi trong một trang, ngay cả từ các iframe nhiều miền.

Trong tương lai, khi chủ sở hữu trang web có thời gian cập nhật chính sách về quyền iframe trên nhiều miền, kế hoạch sẽ là không cho phép các lệnh gọi từ iframe nhiều miền.

Dịch vụ khoá/giá trị

Để hỗ trợ phiên đấu giá quảng cáo Protected Audience API, trình duyệt có thể truy cập vào dịch vụ khoá/giá trị để truy xuất thông tin theo thời gian thực hỗ trợ phiên đấu giá quảng cáo Protected Audience API. Thông tin này có thể được sử dụng theo một số cách:

  • Người mua có thể muốn tính toán ngân sách còn lại trong chiến dịch quảng cáo.
  • Người bán có thể phải kiểm tra mẫu quảng cáo theo chính sách của nhà xuất bản.

Hiện đã có Mã dịch vụ khoá/giá trị Protected Audience API. Hãy xem bài đăng trên blog về thông báo để biết thông tin cập nhật về trạng thái.

Đối với hoạt động kiểm thử ban đầu, chúng tôi giới thiệu mô hình "Bring Your Own Server" (Sử dụng máy chủ riêng của bạn). Về lâu dài, các công nghệ quảng cáo sẽ cần sử dụng các dịch vụ Mã khoá/Giá trị Protected Audience API nguồn mở chạy trong các môi trường thực thi đáng tin cậy.

Hãy tham khảo bài đăng trên blog về dịch vụ Protected Audience API để biết thông tin cập nhật về dòng thời gian. Chúng tôi sẽ thông báo đáng kể để nhà phát triển bắt đầu kiểm thử và áp dụng trước khi quá trình chuyển đổi này diễn ra.

Phát hiện hỗ trợ tính năng

Trước khi sử dụng API, hãy kiểm tra xem API này có được trình duyệt hỗ trợ và có trong tài liệu hay không:

'joinAdInterestGroup' in navigator &&
  document.featurePolicy.allowsFeature('join-ad-interest-group') &&
  document.featurePolicy.allowsFeature('run-ad-auction') ?
  console.log('navigator.joinAdInterestGroup() is supported on this page') :
  console.log('navigator.joinAdInterestGroup() is not supported on this page');

Protected Audience API hoạt động như thế nào?

Trong ví dụ này, người dùng duyệt xem trang web của một nhà sản xuất xe đạp tuỳ chỉnh, sau đó truy cập vào một trang web tin tức và nhìn thấy quảng cáo về một mẫu xe đạp mới của nhà sản xuất xe đạp đó.

Theo thời gian, chúng tôi sẽ bổ sung các tính năng của Protected Audience API trong quá trình triển khai.

1. Một người dùng truy cập vào trang web của nhà quảng cáo

Một người truy cập vào trang web của nhà sản xuất xe đạp tuỳ chỉnh trong trình duyệt trên máy tính xách tay.

Hãy tưởng tượng rằng một người dùng truy cập vào trang web của một nhà sản xuất xe đạp tuỳ chỉnh (nhà quảng cáo) trong ví dụ này và dành một chút thời gian trên trang sản phẩm để mua một chiếc xe đạp thủ công bằng thép. Điều này mang lại cho nhà sản xuất xe đạp cơ hội tái tiếp thị.

2. Trình duyệt của người dùng được yêu cầu thêm nhóm mối quan tâm

Một người dùng mở một trình duyệt trên máy tính xách tay và truy cập vào một trang web. Mã JavaScript
  để tham gia nhóm quan tâm quảng cáo đang chạy trong trình duyệt.

Nền tảng bên cầu (DSP) của nhà quảng cáo (hoặc chính nhà quảng cáo) gọi navigator.joinAdInterestGroup() để yêu cầu trình duyệt thêm một nhóm mối quan tâm vào danh sách các nhóm mà trình duyệt chứa thành viên đó.

Trong ví dụ này, nhóm có tên là custom-bikes và chủ sở hữu là dsp.example. Chủ sở hữu nhóm mối quan tâm (trong trường hợp này là DSP) sẽ là người mua trong phiên đấu giá quảng cáo Protected Audience API. Tư cách thành viên trong nhóm mối quan tâm được trình duyệt lưu trữ trên thiết bị của người dùng và không được chia sẻ với nhà cung cấp trình duyệt hay bất kỳ ai khác.

Chỉ định quảng cáo cho nhóm mối quan tâm

Các đối tượng adsadComponents bao gồm URL cho một mẫu quảng cáo và siêu dữ liệu tuỳ ý (không bắt buộc) có thể dùng tại thời điểm đặt giá thầu. Ví dụ:

{
  renderUrl: 'https://cdn.example/.../bikeAd1.html',
  metadata: bikeAd1metadata // optional
}

Người mua đặt giá thầu như thế nào?

generateBid() được gọi cho mỗi nhóm mối quan tâm mà trình duyệt là thành viên – nếu chủ sở hữu của nhóm mối quan tâm được mời đặt giá thầu.

Đọc tài liệu dành cho nhà phát triển generatedBid().

3. Người dùng truy cập vào trang web bán không gian quảng cáo

Một người truy cập vào một trang web tin tức bằng trình duyệt trên máy tính xách tay. Trang web
  có một vùng quảng cáo trống.

Sau đó, người dùng truy cập vào một trang web bán không gian quảng cáo, trong ví dụ này là trang web tin tức. Trang web có khoảng không quảng cáo được bán theo phương thức lập trình với tính năng đặt giá thầu theo thời gian thực.

4. Phiên đấu giá quảng cáo sẽ chạy trong trình duyệt

Một người dùng trình duyệt để xem trang web tin tức trên máy tính xách tay. Phiên đấu giá quảng cáo Protected Audience API được chạy để chọn một quảng cáo cho không gian quảng cáo có sẵn.

Phiên đấu giá quảng cáo có thể sẽ do nhà cung cấp bên cung (SSP) của nhà xuất bản hoặc chính nhà xuất bản đó chạy. Mục đích của phiên đấu giá là chọn quảng cáo thích hợp nhất cho một vùng quảng cáo có sẵn trên trang hiện tại. Phiên đấu giá sẽ xem xét các nhóm mối quan tâm mà trình duyệt là thành viên, cùng với dữ liệu từ người mua không gian quảng cáo và người bán từ dịch vụ Khoá/Giá trị.

5. Người bán và người mua tham gia yêu cầu dữ liệu theo thời gian thực từ dịch vụ Khoá/Giá trị

Người dùng xem trang web tin tức trong trình duyệt trên máy tính xách tay. Một phiên đấu giá quảng cáo sử dụng Protected Audience API đang diễn ra, trong đó một người tham gia nhận dữ liệu từ dịch vụ Khoá/Giá trị.

Trong phiên đấu giá quảng cáo, người bán có thể yêu cầu dữ liệu theo thời gian thực về các mẫu quảng cáo cụ thể bằng cách gửi yêu cầu đến dịch vụ Khoá/Giá trị của họ. Người bán có thể yêu cầu thông tin này trong runAdAuction() bởi thuộc tính trustedScoringSignalsUrl, cùng với các khoá từ thuộc tính renderUrl của tất cả các mục nhập trong trường adsadComponents của tất cả các nhóm mối quan tâm trong phiên đấu giá.

Người mua có thể yêu cầu dữ liệu theo thời gian thực từ dịch vụ Khoá/Giá trị bằng cách sử dụng các thuộc tính trustedBiddingSignalsUrltrustedBiddingSignalsKeys của đối số nhóm mối quan tâm được truyền vào navigator.joinAdInterestGroup().

Khi runAdAuction() được gọi, trình duyệt sẽ đưa ra yêu cầu đến máy chủ đáng tin cậy của từng người mua quảng cáo. URL cho yêu cầu có thể giống như sau:

https://kv-service.example/getvalues?hostname=publisher.example&keys=key1,key2
  • URL cơ sở đến từ trustedBiddingSignalsUrl.
  • hostname do trình duyệt cung cấp.
  • Giá trị keys được lấy từ trustedBiddingSignalsKeys.

Phản hồi cho yêu cầu này là một đối tượng JSON cung cấp giá trị cho từng khoá.

6. Quảng cáo chiến thắng được hiển thị

Một người dùng trình duyệt để xem trang web tin tức trên máy tính xách tay. Một quảng cáo
  giảm giá 20% cho một chiếc xe đạp xuất hiện trong khung bảo vệ an toàn.

Lời hứa mà runAdAuction() trả về sẽ phân giải thành một đối tượng cấu hình khung bảo vệ (FencedFrameConfig) khi cờ resolveToConfig được đặt thành true trong cấu hình phiên đấu giá. Cấu hình khung được khung bảo vệ sử dụng để điều hướng khung đến quảng cáo giành chiến thắng, nhưng URL của quảng cáo không hiển thị cho trình nhúng khung.

Đối tượng cấu hình khung có hàng rào bắt đầu có sẵn từ M114. Để biết thêm về đối tượng FencedFrameConfig, hãy xem bài viết trên blog của Chrome.

7. Kết quả phiên đấu giá được báo cáo

Kế hoạch dài hạn là để cho phép trình duyệt báo cáo kết quả phiên đấu giá cho người bán và người mua bằng cách sử dụng API tổng hợp riêng tư.

Là một cơ chế báo cáo cấp sự kiện tạm thời, mã triển khai reportResult() cho người bán và reportWin() cho bên đặt giá thầu giành chiến thắng có thể gọi hàm sendReportTo(). Thao tác này sẽ lấy một đối số duy nhất: một chuỗi đại diện cho một URL được tìm nạp sau khi phiên đấu giá hoàn tất, chuỗi này mã hoá thông tin ở cấp sự kiện cần báo cáo.

8. Một lượt nhấp vào quảng cáo được báo cáo

Một người nhấp vào quảng cáo về một loại xe đạp có gắn khung bảo vệ trên một trang web tin tức. Dữ liệu báo cáo được gửi đến người bán và người mua.

Hệ thống sẽ báo cáo một lượt nhấp vào quảng cáo hiển thị trong khung bảo vệ. Để tìm hiểu thêm về cách hoạt động của tính năng này, hãy xem Báo cáo quảng cáo khung bảo vệ.


Thông tin tổng quan về từng giai đoạn của 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á Protected Audience API.

Protected Audience API và TURTLEDOVE có gì khác nhau?

Protected Audience API là thử nghiệm đầu tiên được triển khai trên Chromium trong nhóm đề xuất TURTLEDOVE.

Protected Audience API tuân thủ các nguyên tắc cấp cao của TURTLEDOVE. Một số quảng cáo trực tuyến dựa trên việc hiển thị quảng cáo cho người có thể quan tâm và đã tương tác trước đây với nhà quảng cáo hoặc mạng quảng cáo. Trước đây, điều này đã giúp nhà quảng cáo nhận dạng một người cụ thể khi họ duyệt qua các trang web, một mối quan tâm cốt lõi về quyền riêng tư với web ngày nay.

TURTLEDOVE nỗ lực cung cấp một API mới để giải quyết trường hợp sử dụng này, đồng thời cung cấp một số tiến bộ chính về quyền riêng tư:

  • Trình duyệt (không phải nhà quảng cáo) lưu thông tin về nội dung mà nhà quảng cáo cho rằng một người quan tâm.
  • Nhà quảng cáo có thể phân phát quảng cáo dựa trên mối quan tâm, nhưng không thể kết hợp mối quan tâm đó với thông tin khác về một người, cụ thể là họ là ai hoặc họ đang truy cập vào trang nào.

Protected Audience API phát triển từ TURTLEDOVE và một tập hợp các đề xuất sửa đổi có liên quan nhằm phục vụ tốt hơn cho các nhà phát triển sẽ sử dụng API:

  • Trong SPARROW: Criteo đã đề xuất thêm mô hình dịch vụ ("Gatekeeper") chạy trong môi trường thực thi đáng tin cậy (TEE). Protected Audience API sử dụng ít TEE hơn để tra cứu dữ liệu theo thời gian thực và báo cáo tổng hợp.
  • Các đề xuất TERN của NextRoll và PARRROT của Magnite đã mô tả vai trò khác nhau của người mua và người bán trong phiên đấu giá trên thiết bị. Quy trình đặt giá thầu/tính điểm quảng cáo của Protected Audience API dựa trên công việc này.
  • Các nội dung sửa đổi Dựa trên kết quảcấp sản phẩm của RTB House đã cải thiện mô hình ẩn danh và khả năng cá nhân hoá của phiên đấu giá trên thiết bị
  • paraKEET là đề xuất của Microsoft cho một dịch vụ quảng cáo giống như TURTLEDOVE dựa trên máy chủ proxy chạy trong TEE giữa trình duyệt và nhà cung cấp công nghệ quảng cáo, để ẩn danh các yêu cầu quảng cáo và thực thi các thuộc tính quyền riêng tư. Protected Audience API chưa sử dụng mô hình proxy này. Chúng tôi sẽ thống nhất các API JavaScript cho paraKEET và Protected Audience API cho nhất quán, nhằm hỗ trợ các hoạt động trong tương lai nhằm kết hợp chặt chẽ hơn những tính năng tốt nhất của cả hai đề xuất.

Protected Audience API chưa ngăn mạng quảng cáo của trang web tìm hiểu những quảng cáo mà một người xem. Chúng tôi dự kiến sửa đổi API để mang lại tính riêng tư hơn theo thời gian.

Có thể dùng Topics API với Protected Audience API không?

Có. Một chủ đề đã ghi nhận được cho người dùng hiện tại, do Topics API cung cấp, có thể được người bán hoặc bên đặt giá thầu sử dụng làm thông tin theo bối cảnh. Một chủ đề có thể được đưa vào các thuộc tính sau:

  • auctionSignals, một thuộc tính của đối tượng định cấu hình phiên đấu giá được truyền đến navigator.runAdAuction()
  • userBiddingSignals, một thuộc tính của đối tượng cấu hình nhóm mối quan tâm được truyền đến navigator.joinAdInterestGroup()

Cấu hình trình duyệt hiện có

Người dùng có thể điều chỉnh việc tham gia dùng thử Hộp cát về quyền riêng tư trong Chrome bằng cách bật hoặc tắt chế độ cài đặt cấp cao nhất trong chrome://settings/adPrivacy.

Trong quá trình kiểm thử ban đầu, mọi người có thể sử dụng chế độ cài đặt cao cấp này của Hộp cát về quyền riêng tư để chọn không sử dụng Protected Audience API. Chrome dự định cho phép người dùng xem và quản lý danh sách các nhóm mối quan tâm mà họ đã được thêm vào trên các trang web mà họ đã truy cập. Tương tự như với công nghệ Hộp cát về quyền riêng tư, chế độ cài đặt của người dùng có thể phát triển dựa trên ý kiến phản hồi của người dùng, cơ quan quản lý và những người khác.

Chúng tôi sẽ tiếp tục cập nhật các chế độ cài đặt hiện có trong Chrome dựa trên các thử nghiệm và ý kiến phản hồi. Trong tương lai, chúng tôi dự định cung cấp các chế độ cài đặt chi tiết hơn để quản lý Protected Audience API và dữ liệu có liên quan.

Phương thức gọi API không thể truy cập vào tư cách thành viên nhóm khi người dùng duyệt web ở Chế độ ẩn danh và tư cách thành viên sẽ bị xoá khi người dùng xoá dữ liệu trang web của họ.

Các công việc của Protected Audience có được trình duyệt lưu vào bộ nhớ đệm không?

Các tài nguyên chứa worklet Protected Audience – công việc tạo giá thầu và báo cáo của người mua cũng như công việc tính điểm quảng cáo và báo cáo của người bán – sẽ được trình duyệt lưu vào bộ nhớ đệm. Bạn có thể dùng tiêu đề Cache-Control để kiểm soát hoạt động lưu vào bộ nhớ đệm.

Thu hút và chia sẻ ý kiến phản hồi

Yêu cầu hỗ trợ

Để đặt câu hỏi và nhận hỗ trợ về cách triển khai, bản minh hoạ hoặc tài liệu:

Nếu bạn có câu hỏi chung khác về việc đáp ứng nhu cầu của mình bằng Protected Audience API, hãy báo cáo vấn đề trên kho lưu trữ API. Bạn cũng có thể thảo luận về các trường hợp sử dụng trong ngành tại Nhóm doanh nghiệp quảng cáo trên web của W3C.

Hãy sử dụng biểu mẫu phản hồi Hộp cát về quyền riêng tư để chia sẻ ý kiến phản hồi một cách riêng tư với nhóm Chrome bên ngoài các diễn đàn công khai.

Chọn không sử dụng

Bạn muốn chọn không sử dụng Protected Audience API? Tìm hiểu cách chặn quyền truy cập vào Protected Audience API với tư cách là chủ sở hữu trang web hoặc người dùng cá nhân.

Nhận thông báo cập nhật