Hướng dẫn 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 trên nhiều trang web của bên thứ ba.
Đối với những người mới sử dụng Protected Audience API, hãy đọc Tổng quan về Protected Audience API để biết nội dung giải thích cấp cao về API này.
Bài đăng này dành cho các nhà phát triển dưới dạng tài liệu tham khảo kỹ thuật cho phiên bản gần đây nhất của Protected Audience API thử nghiệm. Bạn có thể xem bản minh hoạ về quy 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
- Đề xuất Protected Audience API hiện đang chuyển sang giai đoạn phát hành rộng rãi. Đặt câu hỏi và theo dõi cuộc thảo luận.
- Trạng thái Protected Audience API của các tính năng đang chờ xử lý nêu chi tiết những thay đổi cũng như tính năng nâng cao đối với Protected Audience API và các tính năng.
- Trạng thái nhấp nháy
- Trạng thái nền tảng Chrome Protected Audience API: Chỉ dành cho Protected Audience API trên Chrome.
- Trạng thái nền tảng Chrome của Ads API: Một tập hợp API để hỗ trợ hoạt động quảng cáo: Protected Audience API, Chủ đề, Khung bảo vệ và Báo cáo phân bổ.
Để 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ân phát các trường hợp tái tiếp thị và sử dụng đối tượng tuỳ chỉnh. API này được thiết kế sao cho các bên thứ ba không thể sử dụng API này để theo dõi hành vi duyệt web của người dùng trên các trang web. API này bật phiên đấu giá trên thiết bị bằng trình duyệt để chọn quảng cáo phù hợp cho các 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 có sẵn
Tài liệu này đóng vai trò tổng quan về Protected Audience API. Nếu bạn đang tìm các phương thức và tham số API cụ thể:
- Hướng dẫn người mua dành cho
joinAdInterestGroup()
vàgenerateBid()
. - Hướng dẫn của người bán về Protected Audience API
runAdAuction()
- Người mua hướng dẫn về
reportWin()
và người bán hướng dẫn người bán vềreportResult()
- Khắc phục sự cố về Protected Audience API
Bạn cũng có thể đọc các phương pháp hay nhất về độ trễ của phiên đấu giá quảng cáo Protected Audience API.
Bản minh hoạ Protected Audience API
Bạn có thể xem hướng dẫn từng bước 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/.
Kiểm thử API này
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:
- Bật mọi API quyền riêng tư trong quảng cáo trong
chrome://settings/adPrivacy
. - Đặt cờ từ dòng lệnh. Bạn có thể tìm thấy danh sách đầy đủ các cờ Protected Audience API hiện có trong Tìm kiếm mã Chromium.
Hiển thị quảng cáo trong iframe hoặc khung được bảo vệ
Quảng cáo có thể hiển thị trong <iframe>
hoặc
<fencedframe>
, tuỳ thuộc vào
cờ nào được đặt.
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ắng/thua gỡ lỗi tạm thời.
Tính năng được hỗ trợ
Protected Audience API phía sau 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: được trình duyệt lưu trữ, cùng với siêu dữ liệu liên quan để thiết lập 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 của người mua.
- Hiển thị quảng cáo trong phiên bản Khung bảo vệ tạm thời: có quyền truy cập mạng và cho phép ghi nhật ký để hiển thị quảng cáo.
Hãy đọc thêm về việc hỗ trợ tính năng và các quy tắc hạn chế trong tài liệu giải thích về Protected Audience API.
Quyền cho nhóm đối tượng có cùng mối quan tâm
Giá trị mặc định cho cách triển khai Protected Audience API hiện tại là cho phép gọi joinAdInterestGroup()
từ bất kỳ vị trí nào trong một trang, thậm chí từ các iframe trên 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 là không cho phép lệnh gọi từ iframe trên 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 dành cho nhà xuất bản.
Hiện đã có mã dịch vụ khoá/giá trị Protected Audience API. Hãy xem bài đăng về thông báo này trên blog để biết thông tin cập nhật về trạng thái.
Để thử nghiệm ban đầu, chúng tôi đã ra mắt mô hình "Mang lại máy chủ riêng". 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ụ Khoá/Giá trị của Protected Audience API nguồn mở đang chạy trong các môi trường thực thi đáng tin cậ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ề tiến trình. Chúng tôi sẽ thông báo đáng kể để nhà phát triển bắt đầu kiểm thử và sử dụng trước khi quá trình chuyển đổi này diễn ra.
Phát hiện tính năng hỗ trợ
Trước khi sử dụng API, hãy kiểm tra xem API đó 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à thấy quảng cáo về mẫu xe đạp mới của nhà sản xuất đó.
Các tính năng của Protected Audience API sẽ được bổ sung theo thời gian trong quá trình triển khai.
1. Người dùng truy cập vào trang web của nhà quảng cáo
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 thời gian trên trang sản phẩm để mua một chiếc xe đạp bằng thép thủ công. Việc này giúp nhà sản xuất xe đạp có một 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
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 hàm 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 là 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 của nhóm đối tượng có cùng 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.
- Đọc nội dung giải thích về Protected Audience API: Trình duyệt ghi lại các nhóm đối tượng có cùng mối quan tâm.
- Đọc hướng dẫn về API: người mua và DSP, tìm hiểu cách
joinAdInterestGroup()
và tạo giá thầu.
Chỉ định quảng cáo cho nhóm sở thích
Các đối tượng ads
và adComponents
bao gồm một URL cho mẫu quảng cáo và siêu dữ liệu tuỳ ý (không bắt buộc) có thể dùng khi đặ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
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 và 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. Một phiên đấu giá quảng cáo sẽ chạy trong trình duyệt
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 tiến hành. 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á có tính đến 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ị.
- Đọc giải thích về Protected Audience API: Người bán chạy phiên đấu giá trên thiết bị
- Đọc hướng dẫn về API: người bán có thể tìm hiểu thêm về
runAdAuction()
và các phương pháp hay nhất về độ trễ trong phiên đấu giá quảng cáo.
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ị
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()
của 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 ads
và adComponents
của tất cả các nhóm 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 trustedBiddingSignalsUrl
và trustedBiddingSignalsKeys
của đối số nhóm mối quan tâm được truyền đến navigator.joinAdInterestGroup()
.
Khi runAdAuction()
được gọi, trình duyệt sẽ gửi một 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ể có dạ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 các giá trị cho mỗi khoá.
- Đọc tài liệu giải thích về Protected Audience API: Tìm nạp dữ liệu theo thời gian thực từ dịch vụ Khoá/giá trị Protected Audience API.
- Hãy đọc bài viết tìm nguồn mở cho dịch vụ Khoá/giá trị Protected Audience API.
6. Quảng cáo thắng thầu sẽ xuất hiện
Lời hứa do runAdAuction() trả về sẽ phân giải thành đối tượng cấu hình khung được 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 một khung được 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 bảo vệ có từ M114. Để biết thêm thông tin về đối tượng FencedFrameConfig
, hãy xem bài viết trên blog của Chrome.
- Đọc tài liệu giải thích về Protected Audience API: các trình duyệt hiển thị quảng cáo thắng cuộc
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 API Tổng hợp riêng tư.
Là một cơ chế báo cáo tạm thời ở cấp sự kiện, mã triển khai
reportResult()
cho người bán và reportWin()
cho bên đặt giá thầu thắng cuộc, có thể
gọi hàm sendReportTo()
. Phương thứ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, giúp mã hoá thông tin ở cấp sự kiện cần báo cáo.
- Đọc hướng dẫn về API: tìm hiểu về báo cáo người bán và người mua
8. Một lượt nhấp vào quảng cáo được báo cáo
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ài viết Báo cáo quảng cáo có khung bảo vệ.
Sự khác biệt giữa Protected Audience API và TURTLEDOVE là gì?
Protected Audience API là thử nghiệm đầu tiên được triển khai trong 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 dùng có khả năng quan tâm và từng tương tác với nhà quảng cáo hoặc mạng quảng cáo. Trước đây, việc này được thực hiện bằng cách nhà quảng cáo nhận dạng được một người cụ thể khi họ duyệt xem các trang web. Đây là một vấn đề cốt lõi về quyền riêng tư đối với môi trường web hiện nay.
Nỗ lực của TURTLEDOVE nhằm 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ộ quan trọng về quyền riêng tư:
- Trình duyệt (không phải nhà quảng cáo) chứa thông tin về những 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 các thông tin khác về một người, cụ thể là họ là ai hoặc họ đang truy cập trang nào.
Protected Audience API phát triển từ TURTLEDOVE và một tập hợp các đề xuất có liên quan để điều chỉnh nhằm phục vụ tốt hơn cho những nhà phát triển sẽ sử dụng API này:
- Trong SPARROW: Criteo đã đề xuất thêm một 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 các TEE hạn chế nhiều 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 Maven 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ính điểm/đặt giá thầu quảng cáo của Protected Audience API dựa trên hoạt động này.
- Các nội dung sửa đổi TURTLEDOVE dựa trên kết quả và 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 về một dịch vụ quảng cáo giống như TURTLEDOVE. Dịch vụ này dựa vào một 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 về quyền riêng tư. Protected Audience API chưa áp dụng mô hình proxy này. Chúng tôi sẽ điều chỉnh các API JavaScript dành cho paraKEET và Protected Audience API sao cho phù hợp với nhau, nhằm hỗ trợ công việc trong tương lai nhằm kết hợp thêm 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 nhìn thấy. Chúng tôi dự kiến sẽ sửa đổi để API trở nên riêng tư hơn theo thời gian.
Có thể sử dụng Topics API với Protected Audience API không?
Có. Chủ đề đã quan sát đượ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 bối cảnh. Một chủ đề có thể được đưa vào trong các thuộc tính sau:
auctionSignals
, thuộc tính của đối tượng cấu hình đấu giá được truyền đếnnavigator.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 đếnnavigator.joinAdInterestGroup()
Cấu hình trình duyệt hiện có
Người dùng có thể điều chỉnh việc họ 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 Hộp cát về quyền riêng tư cấp cao này để chọn không sử dụng Protected Audience API. Chrome có kế hoạch 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. Cũng giống như 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ể thay đổi theo ý 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 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á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 các công việc của 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ác công việc báo cáo và tính điểm quảng 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ể sử 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ợ
Cách đặt câu hỏi và nhận hỗ trợ về quá trình triển khai, bản minh hoạ hoặc tài liệu:
- GitHub: Đọc tài liệu giải thích, đặt câu hỏi và theo dõi nội dung thảo luận.
- Bản minh hoạ: Đưa ra vấn đề về kho lưu trữ mã minh hoạ.
- Hỗ trợ dành cho nhà phát triển: Đặt câu hỏi và tham gia thảo luận trên kho lưu trữ Hỗ trợ nhà phát triển Hộp cát về quyền riêng tư. Chọn mẫu vấn đề cho Protected Audience API.
- Triển khai Chrome: đối với các lỗi hoặc vấn đề trong quá trình Chrome triển khai Protected Audience API, bạn có thể xem các vấn đề hiện tại hoặc gửi vấn đề mới.
Nếu bạn có câu hỏi chung về việc đáp ứng nhu cầu của bạn với Protected Audience API, hãy gửi vấn đề lê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 trong bài viết Cải thiện 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
- Để nhận được các thông báo về việc thay đổi trạng thái của API, hãy tham gia danh sách gửi thư dành cho nhà phát triển.
- Để theo dõi chặt chẽ tất cả các cuộc thảo luận đang diễn ra trên API, hãy nhấp vào nút Xem trên trang API trên GitHub. Để làm việc này, bạn phải có hoặc tạo một tài khoản GitHub.
- Để nhận thông tin cập nhật tổng thể về Hộp cát về quyền riêng tư, hãy đăng ký nhận nguồn cấp dữ liệu RSS [Tiến trình trong Hộp cát về quyền riêng tư].
- Tham gia các lệnh gọi theo lịch cho Protected Audience API (thứ hai tuần một lần). Ai cũng có thể tham gia – để tham gia, trước tiên, hãy nhớ tham gia WICG. Bạn có thể chủ động tham gia hoặc chỉ nghe nhạc!