Hướng dẫn cho nhà phát triển API FLEDGE

Bài viết này dành cho đối tượng nào?

Bài đăng này đề cập đến phiên bản hiện tại của Protected Audience API thử nghiệm.

Protected Audience là gì?

Protected Audience API là một đề xuất Hộp cát về quyền riêng tư nhằm phục vụ các trường hợp sử dụng đối tượng tuỳ chỉnh và tái tiếp thị, đượ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 là thử nghiệm đầu tiên được triển khai trong Chromium trong nhóm đề xuất TURTLEDOVE.

Sơ đồ dưới đây cung cấp thông tin tổng quan về vòng đời FLEDGE:

Hình minh hoạ cung cấp thông tin tổng quan về từng giai đoạn trong vòng đời FLEDGE
Vòng đời FLEDGE.

Làm cách nào để dùng thử Protected Audience?

Bản minh hoạ của Protected Audience

Bạn có thể xem hướng dẫn từng bước về cách triển khai Protected Audience 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.

Video minh hoạ giải thích cách hoạt động của mã minh hoạ và trình bày cách sử dụng Công cụ của Chrome cho nhà phát triển để gỡ lỗi cho Protected Audience.

Tham gia bản dùng thử theo nguyên gốc Protected Audience

Bản dùng thử theo nguyên gốc đo lường và mức độ liên quan của Hộp cát về quyền riêng tư đã được cung cấp trong Chrome Beta 101.0.4951.26 trở lên trên máy tính cho các API Protected Audience, TopicsAttribution Reporting.

Để tham gia, hãy đăng ký mã thông báo dùng thử theo nguyên gốc.

Sau khi đăng ký dùng thử thành công, bạn có thể dùng thử Protected Audience JavaScript API trên các trang cung cấp mã dùng thử hợp lệ: ví dụ: để yêu cầu trình duyệt tham gia một hoặc nhiều nhóm mối quan tâm, sau đó chạy phiên đấu giá quảng cáo để chọn và hiển thị quảng cáo.

Bản minh hoạ về Protected Audience đưa ra một ví dụ cơ bản về cách triển khai toàn diện Protected Audience.

Cung cấp một mã dùng thử cho mỗi trang mà bạn muốn chạy mã Protected Audience API:

  • Dưới dạng thẻ meta trong <head>:

    <meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">

  • Dưới dạng tiêu đề HTTP:

    Origin-Trial: TOKEN_GOES_HERE

  • Bằng cách cung cấp mã thông báo theo phương thức lập trình:

    const otMeta = document.createElement('meta');
    otMeta.httpEquiv = 'origin-trial';
    otMeta.content = 'TOKEN_GOES_HERE';
    document.head.append(otMeta);
    

Một iframe đang chạy mã Protected Audience (chẳng hạn như lệnh gọi navigator.joinAdInterestGroup() của chủ sở hữu nhóm mối quan tâm) sẽ cần cung cấp một mã thông báo khớp với nguồn gốc của mã đó.

Thông tin đề xuất về bản dùng thử theo nguyên gốc của Protected Audience cung cấp thêm thông tin chi tiết về mục tiêu của bản dùng thử đầu tiên và giải thích những tính năng được hỗ trợ.

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

Bạn có thể kiểm thử Protected Audience cho một người dùng trong Chrome Beta 101.0.4951.26 trở lên trên máy tính: * Bằng cách bật chrome://flags/#privacy-sandbox-ads-apis. * Bằng cách đặt cờ từ dòng lệ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 cờ đượ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 phương thức báo cáo thất bại/thắng gỡ lỗi tạm thời.

Phần Chạy Chromium bằng cờ giải thích cách đặt cờ khi chạy Chrome và các trình duyệt dựa trên Chromium khác qua dòng lệnh. Bạn có thể xem danh sách đầy đủ các cờ Protected Audience trong Tìm kiếm mã Chromium.

Phiên bản Chrome mới nhất hỗ trợ những tính năng nào?

Protected Audience đang được cung cấp cờ tính năng sau trong Chromium dưới dạng thử nghiệm đầu tiên để kiểm thử các tính năng sau của đề xuất Protected Audience:

  • Nhóm mối quan tâm: do trình duyệt lưu trữ, với siêu dữ liệu được liên kết để định cấu hình hoạt độ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 và tín hiệu đã lưu trữ 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ệ: với quyền truy cập mạng và ghi nhật ký được cho phép để hiển thị quảng cáo.

Phần giải thích về API cung cấp thêm thông tin chi tiết về việc hỗ trợ và hạn chế tính năng.

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

Tuỳ chọn mặc định trong cách triển khai Protected Audience hiện tại là cho phép gọi joinAdInterestGroup() từ bất cứ đâu 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 điều chỉnh chính sách về quyền iframe trên nhiều miền, dự định sẽ không cho phép lệnh gọi từ iframe nhiều miền, như nội dung giải thích mô tả.

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

Trong phiên đấu giá quảng cáo trong Protected Audience, trình duyệt có thể truy cập vào dịch vụ khoá/giá trị trả về các cặp khoá-giá trị đơn giản để cung cấp thông tin cho người mua quảng cáo, chẳng hạn như ngân sách còn lại của chiến dịch. Đề xuất Protected Audience yêu cầu máy chủ này "không thực hiện ghi nhật ký ở cấp sự kiện và không có tác dụng phụ nào khác dựa trên những yêu cầu này".

Mã dịch vụ Khoá/Giá trị của Protected Audience hiện có trong kho lưu trữ GitHub về Hộp cát về quyền riêng tư. Các nhà phát triển Chrome và Android có thể sử dụng dịch vụ này. 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. Tìm hiểu thêm về dịch vụ Khoá/giá trị của Protected Audience trong phần giải thích về APItài liệu giải thích về mô hình tin cậy.

Đối với hoạt động kiểm thử ban đầu, chúng tôi sẽ sử dụng mô hình "Bring Your Own Server". 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ụ Giá trị/Khoá đối tượng nguồn mở chạy trong môi trường thực thi đáng tin cậy để truy xuất dữ liệu theo thời gian thực.

Để đảm bảo hệ sinh thái có đủ thời gian để thử nghiệm, chúng tôi dự kiến không cần phải sử dụng các dịch vụ Khoá/Giá trị nguồn mở (TEE) cho đến khi cookie của bên thứ ba ngừng hoạt động. Chúng tôi sẽ thông báo đáng kể để nhà phát triển bắt đầu thử nghiệm 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');

Làm cách nào để chọn không sử dụng Protected Audience?

Bạn có thể 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.

Các trang web có thể kiểm soát quyền truy cập bằng cách nào?

Cuối cùng, Protected Audience sẽ yêu cầu các trang web đặt Chính sách về quyền để cho phép sử dụng chức năng Protected Audience. Điều này giúp đảm bảo rằng các bên thứ ba tuỳ ý không thể sử dụng API khi trang web không biết. Tuy nhiên, để tạo điều kiện cho việc kiểm thử trong bản dùng thử theo nguyên gốc đầu tiên, yêu cầu này sẽ được bỏ qua theo mặc định. Các trang web muốn tắt chức năng Protected Audience một cách rõ ràng trong thời gian thử nghiệm có thể sử dụng Chính sách về quyền có liên quan để chặn quyền truy cập.

Có 2 chính sách về quyền đối với Protected Audience có thể được đặt độc lập: * join-ad-interest-group bật/tắt chức năng thêm trình duyệt vào nhóm mối quan tâm * run-ad-auction bật/tắt chức năng chạy một phiên đấu giá trên thiết bị

Bạn có thể tắt hoàn toàn quyền truy cập vào Protected Audience API trong bối cảnh bên thứ nhất bằng cách chỉ định chính sách về quyền sau đây trong tiêu đề phản hồi HTTP:

Permissions-Policy: join-ad-interest-group=(), run-ad-auction=()

Bạn có thể tắt tính năng sử dụng các API trong iframe bằng cách thêm thuộc tính allow sau đây vào phần tử iframe:

<iframe src="https://example.com" allow="join-ad-interest-group 'none'; run-ad-auction 'none'"></iframe>

Phần Chính sách về quyền dùng thử theo nguyên gốc của Protected Audience đầu tiên được đề xuất sẽ cung cấp thêm thông tin chi tiết.

Người dùng chọn không tham gia

Người dùng có thể chặn quyền truy cập vào Protected Audience API và các tính năng khác của Hộp cát về quyền riêng tư bằng một trong những cơ chế sau đây:

  • Tắt bản dùng thử Hộp cát về quyền riêng tư trong phần Cài đặt Chrome: Cài đặt > Bảo mật và quyền riêng tư > Hộp cát về quyền riêng tư. Trang này cũng có thể truy cập được tại chrome://settings/adPrivacy.
  • Tắt cookie của bên thứ ba trong phần Cài đặt Chrome: Cài đặt > Bảo mật và quyền riêng tư.
  • Đặt Cookie và các dữ liệu khác của trang web thành "Chặn cookie của bên thứ ba" hoặc "Chặn tất cả cookie" trong chrome://settings/cookies.
  • Sử dụng Chế độ ẩn danh.

Phần giải thích về Protected Audience cung cấp thêm thông tin chi tiết về các phần tử thiết kế API và mô tả cách API tìm cách để đáp ứng các mục tiêu về quyền riêng tư.

Gỡ lỗi công việc của Protected Audience

Từ Chrome Canary 98.0.4718.0, bạn có thể gỡ lỗi worklet Protected Audience trong Công cụ của Chrome cho nhà phát triển.

Bước đầu tiên là đặt các điểm ngắt thông qua một danh mục mới trong ngăn Event Listener Breakpoints (Điểm ngắt của trình nghe sự kiện) trong bảng điều khiển Sources (Nguồn).

Ảnh chụp màn hình Công cụ cho nhà phát triển trong Chrome Canary, làm nổi bật ngăn Điểm ngắt của Trình nghe sự kiện trong bảng điều khiển Nguồn.
   Bắt đầu giai đoạn đặt giá thầu của bên đặt giá thầu được chọn trong Worklet đấu giá quảng cáo.

Khi một điểm ngắt được kích hoạt, quá trình thực thi sẽ bị tạm dừng trước câu lệnh đầu tiên ở cấp cao nhất của tập lệnh worklet. Bạn có thể sử dụng các điểm ngắt hoặc lệnh bước thông thường để chuyển đến chính hàm đặt giá thầu/tính điểm/báo cáo.

Các tập lệnh worklet trực tiếp cũng sẽ xuất hiện trong bảng điều khiển Threads (Chuỗi).

Ảnh chụp màn hình
DevTools trong Chrome Canary, trong đó ngăn Threads (Chuỗi) trong bảng điều khiển Sources (Nguồn) được làm nổi bật, hiển thị tập lệnh worklet hiện tại đã bị tạm dừng.

Vì một số tác vụ có thể chạy song song, nên nhiều luồng có thể chuyển sang trạng thái "tạm dừng" ở đó. Bạn có thể sử dụng danh sách luồng để chuyển đổi giữa các luồng và tiếp tục hoặc kiểm tra chúng kỹ hơn khi phù hợp.

Quan sát các sự kiện của Protected Audience

Trên Bảng điều khiển ứng dụng trong Công cụ của Chrome cho nhà phát triển, bạn có thể quan sát các sự kiện đấu giá và nhóm mối quan tâm của Protected Audience.

Nếu bạn truy cập vào trang web mua sắm bản minh hoạ của Protected Audience trên trình duyệt đã bật Protected Audience, thì Công cụ cho nhà phát triển sẽ hiển thị thông tin về sự kiện join.

Bảng điều khiển Ứng dụng công cụ cho nhà phát triển trong Chrome Canary, hiển thị thông tin về sự kiện tham gia nhóm mối quan tâm của Protected Audience.

Giờ đây, nếu bạn truy cập vào trang web của nhà xuất bản minh hoạ về Protected Audience trong trình duyệt đã bật Protected Audience, thì Công cụ cho nhà phát triển sẽ hiển thị thông tin về các sự kiện bidwin.

Bảng điều khiển Ứng dụng của Công cụ cho nhà phát triển trong Chrome Canary, hiển thị thông tin về giá thầu trong phiên đấu giá Protected Audience và các sự kiện chiến thắng.

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 đó.

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

Hình minh hoạ cho thấy 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 để làm thủ công một chiếc xe đạp 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

Hình minh hoạ cho thấy một người đang xem trang web trong trình duyệt trên máy tính xách tay. Mã JavaScript joinAdinterestGroup() đang chạy trong trình duyệt.

Phần giải thích: Trình duyệt ghi lại các 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 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 theo mô tả ở bước 4. Danh sách thành viên của 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.

joinAdInterestGroup() cần có quyền từ: * Trang web đang được truy cập * Chủ sở hữu nhóm mối quan tâm

Ví dụ: malicious.example không được phép gọi joinAdInterestGroup() với dsp.example là chủ sở hữu nếu không có sự cho phép của dsp.example.

Quyền của trang web đang được truy cập

Cùng nguồn gốc: Theo mặc định, quyền được cấp ngầm cho các lệnh gọi joinAdInterestGroup() có cùng nguồn gốc với trang web đang được truy cập, tức là có cùng nguồn gốc với khung cấp cao nhất của trang hiện tại. Các trang web có thể dùng lệnh join-ad-interest-group trong tiêu đề chính sách về quyền của Protected Audience để tắt các lệnh gọi joinAdInterestGroup().

Nhiều nguồn gốc: Việc gọi joinAdInterestGroup() từ các nguồn gốc khác với trang hiện tại chỉ có thể thành công nếu trang web đang được truy cập đã đặt chính sách quyền cho phép các lệnh gọi đến joinAdInterestGroup() từ các iframe nhiều nguồn gốc.

Quyền từ chủ sở hữu nhóm mối quan tâm

Quyền của chủ sở hữu nhóm mối quan tâm được cấp ngầm định bằng cách gọi joinAdInterestGroup() từ một iframe có cùng nguồn gốc với quyền của chủ sở hữu nhóm mối quan tâm. Ví dụ: iframe dsp.example có thể gọi joinAdInterestGroup() cho các nhóm mối quan tâm do dsp.example sở hữu.

Đề xuất là joinAdInterestGroup() có thể chạy trong một trang hoặc iframe thuộc miền của chủ sở hữu, hoặc có thể được uỷ quyền cho các miền khác được cung cấp bằng danh sách tại URL .well-known.

Sử dụng navigator.joinAdinterestGroup()

Sau đây là ví dụ về cách sử dụng API:

const interestGroup = {
  owner: 'https://dsp.example',
  name: 'custom-bikes',
  biddingLogicUrl: ...,
  biddingWasmHelperUrl: ...,
  dailyUpdateUrl: ...,
  trustedBiddingSignalsUrl: ...,
  trustedBiddingSignalsKeys: ['key1', 'key2'],
  userBiddingSignals: {...},
  ads: [bikeAd1, bikeAd2, bikeAd3],
  adComponents: [customBike1, customBike2, bikePedal, bikeFrame1, bikeFrame2],
};

navigator.joinAdInterestGroup(interestGroup, 7 * kSecsPerDay);

Đối tượng interestGroup được truyền đến hàm phải có kích thước không quá 50 kiB, nếu không lệnh gọi sẽ không thành công. Tham số thứ hai chỉ định thời lượng của nhóm mối quan tâm, giới hạn là 30 ngày. Các lệnh gọi kế tiếp sẽ ghi đè các giá trị được lưu trữ trước đó.

Thuộc tính nhóm đối tượng có cùng mối quan tâm

Tài sản Bắt buộc Ví dụ: Role
owner Bắt buộc 'https://dsp.example' Nguồn gốc của chủ sở hữu nhóm mối quan tâm.
name Bắt buộc 'custom-bikes' Tên của nhóm mối quan tâm.
biddingLogicUrl** Không bắt buộc* 'https://dsp.example/bid/custom-bikes/bid.js' URL để đặt giá thầu JavaScript chạy trong worklet.
biddingWasmHelperUrl** Không bắt buộc* 'https://dsp.example/bid/custom-bikes/bid.wasm' URL cho mã WebAssembly được lấy từ biddingLogicUrl.
dailyUpdateUrl** Không bắt buộc 'https://dsp.example/bid/custom-bikes/update' URL trả về JSON để cập nhật các thuộc tính của nhóm mối quan tâm. (Xem phần Cập nhật nhóm mối quan tâm.)
trustedBiddingSignalsUrl** Không bắt buộc 'https://dsp.example/trusted/bidding-signals' URL cơ sở cho các yêu cầu khoá-giá trị đến máy chủ đáng tin cậy của bên đặt giá thầu.
trustedBiddingSignalsKeys Không bắt buộc ['key1', 'key2' ...] Khoá cho các yêu cầu đến máy chủ dạng khoá-giá trị đáng tin cậy.
userBiddingSignals Không bắt buộc {...} Siêu dữ liệu bổ sung mà chủ sở hữu có thể sử dụng trong khi đặt giá thầu.
ads Không bắt buộc* [bikeAd1, bikeAd2, bikeAd3] Quảng cáo có thể được hiển thị cho nhóm mối quan tâm này.
adComponents Không bắt buộc [customBike1, customBike2, bikePedal, bikeFrame1, bikeFrame2] Các thành phần cho quảng cáo bao gồm nhiều thành phần.

* Tất cả thuộc tính đều không bắt buộc, ngoại trừ ownername. Thuộc tính biddingLogicUrlads là không bắt buộc, nhưng bắt buộc để tham gia vào phiên đấu giá. Có thể có các trường hợp sử dụng để tạo nhóm mối quan tâm mà không cần các thuộc tính này: ví dụ: chủ sở hữu nhóm mối quan tâm có thể muốn thêm một trình duyệt vào nhóm mối quan tâm cho một chiến dịch chưa chạy hay để sử dụng cho một số mục đích khác trong tương lai, hoặc họ có thể tạm thời hết ngân sách quảng cáo.

** Các URL biddingLogicUrl, biddingWasmHelperUrl, dailyUpdateUrltrustedBiddingSignalsUrl phải có cùng nguồn gốc với chủ sở hữu. Các URL adsadComponents không có quy tắc ràng buộc nào như vậy.

Cập nhật các thuộc tính nhóm mối quan tâm

dailyUpdateUrl chỉ định một máy chủ web trả về các thuộc tính nhóm mối quan tâm xác định bằng JSON, tương ứng với đối tượng nhóm mối quan tâm được truyền đến navigator.joinAdInterestGroup(). Điều này cung cấp cơ chế để chủ sở hữu nhóm cập nhật định kỳ các thuộc tính của nhóm mối quan tâm. Trong cách triển khai hiện tại, bạn có thể thay đổi các thuộc tính sau:

  • biddingLogicUrl
  • biddingWasmHelperUrl
  • trustedBiddingSignalsUrl
  • trustedBiddingSignalsKeys
  • ads
  • priority

Bất kỳ trường nào không được chỉ định trong JSON sẽ không bị ghi đè mà chỉ cập nhật các trường được chỉ định trong JSON, trong khi việc gọi navigator.joinAdInterestGroup() sẽ ghi đè mọi nhóm mối quan tâm hiện có.

Quá trình cập nhật là nỗ lực tối đa và có thể không thực hiện được trong các điều kiện sau: * Hết thời gian chờ yêu cầu mạng (hiện là 30 giây). * Lỗi mạng khác. * Không thể phân tích cú pháp JSON.

Bạn cũng có thể huỷ các bản cập nhật nếu đã cập nhật quá nhiều thời gian liền kề, mặc dù điều này không áp dụng bất kỳ giới hạn số lượng nào đối với các bản cập nhật đã huỷ (còn lại). Các bản cập nhật được giới hạn tốc độ tối đa là một lần mỗi ngày. Những bản cập nhật không thành công do lỗi mạng sẽ được thử lại sau một giờ, còn những bản cập nhật không thành công do bị ngắt kết nối Internet sẽ được thử lại ngay khi có kết nối lại.

Cập nhật thủ công

Hệ thống có thể kích hoạt thủ công nội dung cập nhật cho các nhóm mối quan tâm thuộc sở hữu của nguồn gốc của khung hiện tại thông qua navigator.updateAdInterestGroups(). Giới hạn số lượng yêu cầu ngăn quá trình cập nhật diễn ra quá thường xuyên: các lệnh gọi lặp lại đến navigator.updateAdInterestGroups() sẽ không thực hiện hành động nào cho đến khi hết khoảng thời gian giới hạn tốc độ (hiện là một ngày). Hạn mức tỷ lệ sẽ được đặt lại nếu navigator.joinAdInterestGroup() được gọi lại cho cùng một nhóm mối quan tâm ownername.

Tự động cập nhật

Tất cả các nhóm mối quan tâm được tải cho phiên đấu giá sẽ tự động được cập nhật sau khi phiên đấu giá hoàn tất, tuân theo cùng giới hạn số lượng yêu cầu cập nhật theo cách thủ công. Đối với mỗi chủ sở hữu có ít nhất một nhóm mối quan tâm tham gia vào phiên đấu giá, navigator.updateAdInterestGroups() sẽ được gọi từ một iframe có nguồn gốc khớp với chủ sở hữu đó.

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

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

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

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

Tập lệnh tại biddingLogicUrl do chủ sở hữu nhóm mối quan tâm cung cấp phải bao gồm hàm generateBid(). Khi người bán không gian quảng cáo gọi navigator.runAdAuction(), hàm generatedBid() sẽ được gọi một lần 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. Nói cách khác, generateBid() được gọi một lần cho mỗi quảng cáo đề xuất. Người bán cung cấp thuộc tính decisionLogicUrl trên thông số cấu hình phiên đấu giá được truyền đến navigator.runAdAuction(). Mã tại URL này phải bao gồm hàm scoreAd(). Hàm này được chạy cho mỗi bên đặt giá thầu trong phiên đấu giá, để tính điểm cho từng giá thầu do generateBid() trả về.

Tập lệnh tại biddingLogicUrl do người mua không gian quảng cáo cung cấp phải bao gồm hàm generateBid(). Hàm này được gọi một lần cho mỗi quảng cáo đề xuất. runAdAuction() sẽ kiểm tra riêng từng quảng cáo, cùng với giá thầu và siêu dữ liệu được liên kết, sau đó chỉ định điểm số mong muốn cho quảng cáo.

generateBid(interestGroup, auctionSignals, perBuyerSignals,
    trustedBiddingSignals, browserSignals) {
  ...
  return {
    ad: adObject,
    bid: bidValue,
    render: renderUrl,
    adComponents: [adComponentRenderUrl1, ...]
   };
}

generateBid() nhận các đối số sau:

  • interestGroup
    Đối tượng đã được người mua quảng cáo chuyển đến joinAdInterestGroup(). (Nhóm mối quan tâm này có thể được cập nhật thông qua dailyUpdateUrl.)

  • auctionSignals
    Một thuộc tính của đối số cấu hình phiên đấu giá được người bán không gian quảng cáo chuyển đến navigator.runAdAuction(). Thẻ này cung cấp thông tin về ngữ cảnh của trang (chẳng hạn như kích thước quảng cáo và mã nhà xuất bản), loại phiên đấu giá (giá đầu tiên hoặc giá thứ hai) và siêu dữ liệu khác.

  • perBuyerSignals
    Cũng như auctionSignals, một thuộc tính của đối số cấu hình phiên đấu giá đã được người bán chuyển đến navigator.runAdAuction(). Dữ liệu này có thể cung cấp tín hiệu bối cảnh từ máy chủ của người mua về trang, nếu người bán là một SSP thực hiện lệnh gọi đặt giá thầu theo thời gian thực đến máy chủ của người mua và chuyển phản hồi trở lại, hoặc nếu trang của nhà xuất bản liên hệ trực tiếp với máy chủ của người mua. Nếu có, người mua có thể muốn kiểm tra chữ ký mã hoá của các tín hiệu đó trong generateBid() để bảo vệ chống lại hành vi can thiệp.

  • trustedBiddingSignals
    Một đối tượng có khoá là trustedBiddingSignalsKeys cho nhóm mối quan tâm và có các giá trị được trả về trong yêu cầu trustedBiddingSignals.

  • browserSignals
    Một đối tượng do trình duyệt tạo, có thể bao gồm thông tin về ngữ cảnh của trang (chẳng hạn như hostname của trang hiện tại mà người bán có thể làm giả nếu không có) và dữ liệu của chính nhóm mối quan tâm đó (chẳng hạn như bản ghi về thời điểm trước đó nhóm đã thắng một phiên đấu giá, để cho phép giới hạn tần suất trên thiết bị).

Đối tượng browserSignals có các thuộc tính sau:

{
  topWindowHostname: 'publisher.example',
  seller: 'https://ssp.example',
  joinCount: 3,
  bidCount: 17,
  prevWins: [[time1,ad1],[time2,ad2],...],
  wasmHelper: ... /* WebAssembly.Module object based on interest group's biddingWasmHelperUrl. */
  dataVersion: 1, /* Data-Version value from the buyer's Key/Value service response(s). */
}

Để tính toán giá trị bid, mã trong generateBid() có thể sử dụng các thuộc tính của tham số trong hàm. Ví dụ:

function generateBid(interestGroup, auctionSignals, perBuyerSignals,
    trustedBiddingSignals, browserSignals) {
  return {
    ...
    bid: auctionSignals.is_above_the_fold ? perBuyerSignals.atf_value : perBuyerSignals.btf_value,
    ...
  }
}

generateBid() trả về một đối tượng có 4 thuộc tính:

  • ad
    Siêu dữ liệu tuỳ ý về quảng cáo, chẳng hạn như thông tin mà người bán muốn tìm hiểu về giá thầu này hoặc mẫu quảng cáo. Người bán](/privacy-sandbox/resources/console#ssp) sử dụng thông tin này trong phiên đấu giá và mẫu quảng cáo quyết định. Người bán sử dụng thông tin này trong logic phiên đấu giá và quyết định.

  • bid
    Một giá thầu dạng số sẽ tham gia phiên đấu giá. Người bán phải có quyền so sánh giá thầu từ những người mua khác nhau, do đó giá thầu phải theo một đơn vị nào đó do người bán chọn (ví dụ: "USD mỗi nghìn"). Nếu giá thầu bằng 0 hoặc là giá trị âm, thì nhóm mối quan tâm này sẽ hoàn toàn không tham gia vào phiên đấu giá của người bán. Với cơ chế này, người mua có thể triển khai mọi quy tắc dành cho nhà quảng cáo đối với vị trí mà quảng cáo của họ có thể xuất hiện hoặc không xuất hiện.

  • render
    URL hoặc danh sách URL sẽ được dùng để hiển thị mẫu quảng cáo nếu giá thầu này thắng phiên đấu giá. (Xem Quảng cáo bao gồm nhiều phần trong phần giải thích về API.) Giá trị này phải khớp với renderUrl của một trong các quảng cáo được xác định cho nhóm mối quan tâm.

  • adComponents
    Một danh sách không bắt buộc gồm tối đa 20 thành phần cho quảng cáo bao gồm nhiều thành phần, được lấy từ thuộc tính adComponents của đối số nhóm mối quan tâm đã chuyển đến navigator.joinAdInterestGroup().

Yêu cầu trình duyệt rời khỏi nhóm mối quan tâm

Chủ sở hữu nhóm mối quan tâm có thể yêu cầu xoá một trình duyệt khỏi nhóm mối quan tâm. Nói cách khác, trình duyệt được yêu cầu xoá nhóm mối quan tâm khỏi danh sách những mối quan tâm chứa nhóm đó.

navigator.leaveAdInterestGroup({
  owner: 'https://dsp.example',
  name: 'custom-bikes'
});

Nếu người dùng quay lại trang web đã yêu cầu trình duyệt thêm một nhóm mối quan tâm, thì chủ sở hữu nhóm mối quan tâm có thể gọi hàm navigator.leaveAdInterestGroup() để yêu cầu trình duyệt xoá nhóm mối quan tâm đó. Mã của một quảng cáo cũng có thể gọi hàm này cho nhóm mối quan tâm của quảng cáo.

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

Hình minh hoạ cho thấy một người đang 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à một trang web tin tức. Trang web có khoảng không quảng cáo được lập trình để bán bằng 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

Hình minh hoạ cho thấy một người đang xem trang web tin tức bằng 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 sắp diễn ra.

Phần giải thích: Người bán chạy phiên đấu giá trên thiết bị

Phiên đấu giá quảng cáo có thể sẽ do 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ị.

Người bán không gian quảng cáo đưa ra yêu cầu cho trình duyệt của người dùng để bắt đầu một phiên đấu giá quảng cáo bằng cách gọi navigator.runAdAuction().

Ví dụ:

const auctionConfig = {
  seller: 'https://ssp.example',
  decisionLogicUrl: ...,
  trustedScoringSignalsUrl: ...,
  interestGroupBuyers: ['https://dsp.example', 'https://buyer2.example', ...],
  auctionSignals: {...},
  sellerSignals: {...},
  sellerTimeout: 100,
  perBuyerSignals: {
    'https://dsp.example': {...},
    'https://another-buyer.example': {...},
    ...
  },
  perBuyerTimeouts: {
    'https://dsp.example': 50,
    'https://another-buyer.example': 200,
    '*': 150,
    ...
  },
  componentAuctions: [
    {
      'seller': 'https://some-other-ssp.example',
      'decisionLogicUrl': ...,
      ...
    },
    ...
  ]
};

const auctionResultPromise = navigator.runAdAuction(auctionConfig);

runAdAuction() trả về một lời hứa phân giải tới một URN (urn:uuid:<something>) biểu thị kết quả đấu giá quảng cáo. Trình duyệt chỉ có thể giải mã quảng cáo này khi được chuyển vào khung bảo vệ để hiển thị: trang nhà xuất bản không thể kiểm tra quảng cáo giành chiến thắng.

Tập lệnh decisionLogicUrl sẽ xem xét từng quảng cáo riêng lẻ, cùng với giá thầu và siêu dữ liệu được liên kết của quảng cáo, lần lượt từng quảng cáo, sau đó gán điểm số mong muốn cho quảng cáo đó.

auctionConfig cơ sở lưu trú

Tài sản Bắt buộc Ví dụ: Role
seller Bắt buộc 'https://ssp.example' Nguồn gốc của người bán.
decisionLogicUrl Bắt buộc 'https://ssp.example/auction-decision-logic.js' URL cho JavaScript worklet đấu giá.
trustedScoringSignalsUrl Không bắt buộc 'https://ssp.example/scoring-signals' URL máy chủ đáng tin cậy của người bán.
interestGroupBuyers* Bắt buộc ['https://dsp.example', 'https://buyer2.example', ...] Nguồn gốc của tất cả chủ sở hữu nhóm mối quan tâm đã yêu cầu đặt giá thầu trong phiên đấu giá.
auctionSignals Không bắt buộc {...} Thông tin của người bán về bối cảnh của trang, loại phiên đấu giá, v.v.
sellerSignals Không bắt buộc {...} Thông tin dựa trên cài đặt của nhà xuất bản, tạo yêu cầu quảng cáo theo ngữ cảnh, v.v.
sellerTimeout Không bắt buộc 100 Thời gian chạy tối đa (mili giây) của tập lệnh scoreAd() của người bán.
perBuyerSignals Không bắt buộc {'https://dsp.example': {...},
  'https://another-buyer.example': {...},
...}
Các tín hiệu theo bối cảnh về trang đối với từng người mua cụ thể, từ máy chủ của họ.
perBuyerTimeouts Không bắt buộc 50 Thời gian chạy tối đa (mili giây) của tập lệnh generateBid() của người mua cụ thể.
componentAuctions Không bắt buộc [{'seller': 'https://www.some-other-ssp.com',
  'decisionLogicUrl': ..., ...},
  ...]
Cấu hình bổ sung cho phiên đấu giá thành phần.

* Người bán có thể chỉ định interestGroupBuyers: '*' để cho phép tất cả các nhóm mối quan tâm đặt giá thầu. Sau đó, quảng cáo được chấp nhận hoặc từ chối dựa trên các tiêu chí khác ngoài việc chọn chủ sở hữu nhóm mối quan tâm. Ví dụ: người bán có thể xem xét mẫu quảng cáo để xác nhận việc tuân thủ chính sách của họ.

** additionalBids không được hỗ trợ trong hoạt động triển khai Protected Audience hiện tại. Hãy đọc phần Người tham gia phiên đấu giá trong phần giải thích về Protected Audience để biết thêm thông tin.

Quảng cáo được chọn như thế nào?

Mã tại decisionLogicUrl (thuộc tính của đối tượng cấu hình đấu giá được truyền đến runAdAuction()) phải bao gồm hàm scoreAd(). Quá trình này được chạy một lần cho mỗi quảng cáo để xác định khả năng mong muốn của quảng cáo.

scoreAd(adMetadata, bid, auctionConfig, trustedScoringSignals, browserSignals) {
  ...
  return desirabilityScoreForThisAd;
}

scoreAd() nhận các đối số sau: * adMetadata
Siêu dữ liệu tuỳ ý do người mua cung cấp. * bid
Giá trị giá thầu bằng số. * auctionConfig
Đối tượng cấu hình phiên đấu giá được truyền đến navigator.runAdAuction(). * trustedScoringSignals
Giá trị được truy xuất tại thời điểm đấu giá từ máy chủ đáng tin cậy của người bán, thể hiện ý kiến của người bán đối với quảng cáo. * browserSignals
Đối tượng do trình duyệt tạo, bao gồm 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:

{
  topWindowHostname: 'publisher.example',
  interestGroupOwner: 'https://dsp.example',
  renderUrl: 'https://cdn.example/render',
  adComponents: ['https://cdn.com/ad-component-1', ...],
  biddingDurationMsec: 12,
  dataVersion: 1 /* Data-Version value from the seller's Key/Value service response. */
}

Trước khi phiên đấu giá bắt đầu, người bán sẽ tìm thấy quảng cáo theo bối cảnh phù hợp nhất cho vùng quảng cáo có sẵn. Một phần của logic scoreAd() là từ chối mọi quảng cáo không thể đánh bại quảng cáo chiến thắng theo bối cảnh.

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

Hình minh hoạ cho thấy một người đang xem trang web tin tức bằng 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ị.

Phần giải thích: Tìm nạp dữ liệu theo thời gian thực từ dịch vụ Khoá/giá trị Protected Audience.

Trong phiên đấu giá quảng cáo, người bán của không gian quảng cáo có thể nhận được 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ị sử dụng thuộc tính trustedScoringSignalsUrl của đối số cấu hình phiên đấu giá được chuyển cho navigator.runAdAuction(), 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 mọi nhóm mối quan tâm trong phiên đấu giá.

Tương tự, người mua không gian quảng cáo 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 đã truyền đến navigator.joinAdInterestGroup().

Khi runAdAuction() được gọi, trình duyệt sẽ gửi 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 giá trị cho từng khoá.

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

Hình minh hoạ cho thấy một người đang xem trang web tin tức bằng trình duyệt trên máy tính xách tay. Một quảng cáo
  cho xe đạp (giảm 20%) sẽ xuất hiện, kèm theo khoá ở phía trên để cho thấy quảng cáo đó được hiển thị trong
  khung có rào chắn.

Phần Giải thích: Trình duyệt hiển thị quảng cáo giành chiến thắng

Như đã mô tả trước đó: lời hứa do runAdAuction() trả về sẽ phân giải thành một URN được truyền đến khung bảo vệ để hiển thị và trang web sẽ hiển thị quảng cáo chiến thắng.

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

Phần giải thích: Báo cáo ở cấp sự kiện (hiện tại)

Kết quả báo cáo của người bán

Phần Giải thích: Báo cáo của người bán về quảng cáo hiển thị

JavaScript của người bán được cung cấp tại decisionLogicUrl (cũng cung cấp scoreAd()) có thể bao gồm hàm reportResult() để báo cáo kết quả phiên đấu giá.

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

Các đối số được truyền đến hàm này là:

  • auctionConfig
    Đối tượng cấu hình phiên đấu giá được truyền đến navigator.runAdAuction().

  • browserSignals
    Một đối tượng do trình duyệt tạo ra, cung cấp thông tin về phiên đấu giá. Ví dụ:

    {
      'topWindowHostname': 'publisher.example',
      'interestGroupOwner': 'https://dsp.example',
      'renderUrl': 'https://cdn.example/url-of-winning-creative.wbn',
      'bid:' <bidValue>,
      'desirability': <winningAdScore>
    }
    

Giá trị trả về của hàm này được dùng làm đối số sellerSignals cho hàm reportWin() của bên đặt giá thầu giành chiến thắng.

Kết quả báo cáo bên đặt giá thầu giành chiến thắng

Phần Giải thích: Báo cáo của người mua về lượt hiển thị và sự kiện quảng cáo

JavaScript của bên đặt giá thầu giành chiến thắng (cũng cung cấp generateBid()) có thể bao gồm hàm reportWin() để báo cáo kết quả phiên đấu giá.

reportWin(auctionSignals, perBuyerSignals, sellerSignals, browserSignals) {
  ...
}

Các đối số được truyền đến hàm này là:

  • auctionSignalsperBuyerSignals
    Các giá trị giống nhau được chuyển đến generateBid() cho bên đặt giá thầu giành chiến thắng.
  • sellerSignals
    Giá trị trả về của reportResult(), cho phép người bán có cơ hội truyền thông tin đến người mua.
  • browserSignals
    Một đối tượng do trình duyệt tạo, cung cấp thông tin về phiên đấu giá. Ví dụ:

    {
      'topWindowHostname': 'publisher.example',
      'seller': 'https://ssp.example',
      'interestGroupOwner': 'https://dsp.example',
      'interestGroupName': 'custom-bikes',
      'renderUrl': 'https://cdn.example/winning-creative.wbn',
      'bid:' <bidValue>
    }
    

Triển khai báo cáo thua lỗ/thắng tạm thời

Có hai phương pháp tạm thời có sẵn trong Chrome để báo cáo phiên đấu giá:

  • forDebuggingOnly.reportAdAuctionLoss()
  • forDebuggingOnly.reportAdAuctionWin()

Mỗi phương thức này lấy một đối số duy nhất: một URL cần tìm nạp sau khi phiên đấu giá hoàn tất. Các phương thức này có thể được gọi nhiều lần, trong cả scoreAd()generateBid(), với các đối số URL khác nhau.

Chrome chỉ gửi báo cáo gỡ lỗi thua/thắng khi phiên đấu giá chạy đến khi hoàn tất. Nếu một phiên đấu giá bị huỷ (ví dụ: do một thao tác điều hướng mới), thì sẽ không có báo cáo nào được tạo.

Các phương thức này có sẵn theo mặc định trong Chrome nếu bạn bật chrome://flags/#privacy-sandbox-ads-apis. Tuy nhiên, nếu đang chạy Chrome với cờ dòng lệnh để bật Protected Audience, bạn cần bật các phương thức một cách rõ ràng bằng cách thêm cờ BiddingAndScoringDebugReportingAPI. Nếu cờ không được bật, các phương thức sẽ vẫn có sẵn nhưng không có gì xảy ra.

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

Hình minh hoạ cho thấy một người đang nhấp vào quảng cáo về một chiếc xe đạp, bên trong khung có rào chắn, trên một trang web tin tức, với dữ liệu báo cáo sẽ được chuyển đế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ệ.



Sơ đồ dưới đây trình bày từng giai đoạn của một phiên đấu giá quảng cáo trong Protected Audience:

Hình minh hoạ cung cấp thông tin tổng quan về từng giai đoạn của phiên đấu giá quảng cáo trong Protected Audience


Đối tượng được bảo vệ và TURTLEDOVE có gì khác nhau?

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

Protected Audience 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 được 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 với nhà quảng cáo hoặc mạng quảng cáo trước đây. Trước đây, điều này đã phát huy tác dụng khi nhà quảng cáo nhận diện một người cụ thể khi họ duyệt qua các trang web, một mối quan tâm chính về quyền riêng tư với web ngày nay.

Mục tiêu của TURTLEDOVE là cung cấp một API mới để giải quyết trường hợp sử dụng này, trong khi vẫn cung cấp một số tiến bộ chính về quyền riêng tư:

  • Trình duyệt (chứ không phải nhà quảng cáo) lưu giữ thông tin về những gì 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 trang nào.

Protected Audience 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 những nhà phát triển sẽ sử dụng API này:

  • 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 sử dụng TEE hạn chế 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ính điểm/đặt giá thầu quảng cáo của Protected Audience dựa trên công việc này.
  • Các bản sửa đổi TURTLEDOVE 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ị
  • VERSIONKEET 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à các 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 chưa sử dụng mô hình proxy này. Chúng tôi sẽ thống nhất các API JavaScript dành cho firebaseKEET và Protected Audience cho phù hợp, nhằm hỗ trợ nỗ lực trong tương lai nhằm kết hợp hơn nữa các tính năng tốt nhất của cả hai đề xuất.

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

Trình duyệt có cấu hình nào?

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. 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ư, các chế độ cài đặt của người dùng có thể phát triển 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 khi đề xuất Protected Audience tiếp tục cập nhật 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 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ủa họ.



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

Yêu cầu hỗ trợ

Để đặt câu hỏi về cách triển khai, về bản minh hoạ hoặc tài liệu: * Mở một vấn đề mới trên kho lưu trữ privacy-sandbox-dev-support. Hãy nhớ chọn mẫu vấn đề cho Protected Audience. * Nêu vấn đề trong kho lưu trữ mã minh hoạ trên GitHub. * Nếu bạn có câu hỏi chung khác về cách đáp ứng các trường hợp sử dụng của bạn với API, hãy báo cáo vấn đề trên kho lưu trữ đề xuất.

Đối với các lỗi và vấn đề khi triển khai Protected Audience API trong Chrome: * Xem các vấn đề hiện có được báo cáo cho API. * Nêu lên vấn đề mới tại crbug.com/new.

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

  • Để nhận thông báo về các thay đổi trạng thái trong 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 đề xuất trên GitHub. Để làm được 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ý nguồn cấp dữ liệu RSS [Tiến trình trong Hộp cát về quyền riêng tư].

Tìm hiểu thêm


Ảnh của Ray Hennessy trên Unsplash.