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 là tài liệu tham khảo kỹ thuật đế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ư để 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, đượ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 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 của 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ạ 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à cách sử dụng Công cụ của Chrome cho nhà phát triển để gỡ lỗi 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 về Mức độ liên quan và hoạt động đo lường 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 Protected Audience API, TopicsAttribution Reporting API.

Để 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ệ, chẳng hạn như để yêu cầu trình duyệt tham gia vào 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 cung cấp một ví dụ cơ bản về cách triển khai Protected Audience toàn diện.

Cung cấp 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

  • 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 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ã thông báo khớp với nguồn gốc.

Thông tin đề xuất về bản dùng thử theo nguyên gốc 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ử API này

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 tất cả các Ad Privacy API trong chrome://settings/adPrivacy
  • Bằng cách thiết lập cờ từ dòng lệnh.

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

Quảng cáo có thể được 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

Bao gồ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.

Bài viết Chạy Chromium với 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 từ dòng lệnh. Bạn có thể xem danh sách đầy đủ các cờ trong 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 phía sau cờ tính năng trong Chromium dưới dạng thử nghiệm đầu tiên nhằm kiểm thử các tính năng sau của đề xuất Protected Audience:

  • 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 để đị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ữ của 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 của tính năng Khung bảo vệ: với quyền truy cập mạng và ghi nhật ký để hiển thị quảng cáo.

Thông tin giải thích về API cung cấp thêm thông tin chi tiết về việc hỗ trợ và các quy tắc ràng buộc đối với tính năng.

Quyền cho nhóm đối tượng có cùng mối quan tâm

Giá trị 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 kỳ vị trí nào trong một trang, ngay cả từ iframe trên 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, họ sẽ không cho phép cuộc gọi từ iframe trên nhiều miền, như mô tả trong phần giải thích.

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

Trong phiên đấu giá quảng cáo 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 bắt buộc máy chủ này "không 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 các 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 về thông báo này trên blog để 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 tài liệu giải thích về APItài liệu giải thích về mô hình tin cậy.

Đối với thử nghiệm ban đầu, mô hình "Tạo máy chủ riêng của bạn" được sử dụ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 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.

Nhằm đảm bảo hệ sinh thái có đủ thời gian để thử nghiệm, chúng tôi dự kiến sẽ không yêu cầu bạn phải sử dụng các dịch vụ Khoá/giá trị nguồn mở hay TEE cho đến khi cookie của bên thứ ba không được dùng nữa. 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 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ó xuất hiện 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?

Sau này, Protected Audience sẽ yêu cầu các trang web đặt Chính sách về quyền để có thể sử dụng chức năng của 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 nếu không có kiến thức về trang web. 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 được miễn theo mặc định. Các trang web muốn tắt rõ ràng chức năng của Protected Audience trong giai đoạn kiểm thử có thể sử dụng Chính sách về quyền liên quan để chặn quyền truy cập.

Có 2 chính sách về quyền của Protected Audience có thể được đặt độc lập:

  • join-ad-interest-group bật/tắt chức năng thêm một 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 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 của bên thứ nhất bằng cách chỉ định chính sách 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 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 đề xuất về quyền của bản dùng thử theo nguyên gốc của Protected Audience 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 bất kỳ cơ chế nào 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ư. Bạn cũng có thể truy cập vào nội dung này 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 trang web khác thành "Chặn cookie của bên thứ ba" hoặc "Chặn tất cả cookie" từ chrome://settings/cookies.
  • Sử dụng Chế độ ẩn danh.

Thông tin 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 này đá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 các worklet của Protected Audience trong Chrome Công cụ cho nhà phát triển.

Bước đầu tiên là đặt các điểm ngắt qua một danh mục mới trong ngăn Event Listener Breakpoints (Điểm ngắt trình xử lý 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, trong đó ngăn ngắt trình nghe sự kiện trong bảng điều khiển Nguồn được làm nổi bật.
   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 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 thông thường hoặc lệnh bước để 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 (Luồng).

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

Vì một số worklet 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" tại đó; bạn có thể sử dụng danh sách luồng để chuyển đổi giữa các luồng, cũng như tiếp tục hoặc kiểm tra kỹ hơn nếu phù hợp.

Quan sát các sự kiện 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 nhóm đối tượng có cùng mối quan tâm và các sự kiện đấu giá của Protected Audience.

Nếu bạn truy cập vào trang web mua sắm minh hoạ của 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ề 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ề một sự kiện tham gia nhóm đối tượng có cùng 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 một trình duyệt có 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ô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á của Protected Audience và các sự kiện giành 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à thấy quảng cáo về mẫu xe đạp mới của nhà sản xuất đó.

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

Hình minh hoạ 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 thời gian trên trang sản phẩm để mua một chiếc xe đạp làm bằng thép thủ công. Điều này mang đến cho nhà sản xuất xe đạp 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

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

Mục Người giải thích: Các nhóm mối quan tâm ghi lại của 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 là thành viên. Trong ví dụ này, nhóm được đặt 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 được mô tả ở bước 4. 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, thiết bị của người dùng lưu trữ và không được chia sẻ với nhà cung cấp trình duyệt hay bất kỳ ai khác.

joinAdInterestGroup() yêu cầu bạn cấp quyền:

  • 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 gọi joinAdInterestGroup()dsp.example là chủ sở hữu khi chưa có sự cho phép của dsp.example.

Quyền từ trang web mà người dùng đang truy cập

Cùng nguồn gốc: Theo mặc định, quyền ngầm được cấp cho các lệnh gọi joinAdInterestGroup() từ cùng nguồn gốc với trang web mà bạn đang 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 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 lệnh gọi đến joinAdInterestGroup() từ các iframe trên nhiều nguồn gốc.

Sự cho phép của 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 ngầm cấp bằng cách gọi joinAdInterestGroup() từ một iframe có cùng nguồn gốc với 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 thuộc sở hữu của dsp.example.

Đề xuất là joinAdInterestGroup() có thể chạy trong một trang hoặc iframe trong miền của chủ sở hữu hoặc đượ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()

Dưới đây là ví dụ về cách sử dụng API này:

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 chuyển vào hàm không được 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 hạn của nhóm mối quan tâm, giới hạn là 30 ngày. Các lệnh gọi tiếp theo sẽ ghi đè các giá trị đã lưu trữ trước đó.

Thuộc tính nhóm 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 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 nhóm mối quan tâm. (Xem bài viết 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ị gửi đế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 gửi khoá-giá trị máy chủ đá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] Những 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] Thành phần cho quảng cáo bao gồm nhiều phần.

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

dailyUpdateUrl chỉ định một máy chủ web trả về JSON xác định các thuộc tính nhóm mối quan tâm, tương ứng với đối tượng nhóm mối quan tâm được truyền đến navigator.joinAdInterestGroup(). Đây là cơ chế để chủ sở hữu nhóm cập nhật định kỳ các thuộc tính của nhóm đối tượng có cùng mối quan tâm. Trong phương thức 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

Mọi trường không được chỉ định trong JSON sẽ không bị ghi đè (chỉ những trường được chỉ định trong JSON mới được cập nhật), trong khi việc gọi navigator.joinAdInterestGroup() sẽ ghi đè mọi nhóm quan tâm hiện có.

Quá trình cập nhật sẽ được thực hiện với nỗ lực tối đa và có thể không thành công trong những điều kiện sau:

  • 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.

Các bản cập nhật cũng có thể bị huỷ nếu bạn đã dành quá nhiều thời gian liền nhau cho quá trình cập nhật, mặc dù điều này không áp dụng giới hạn số lượng yêu cầu đối với các bản cập nhật bị huỷ (còn lại). Giới hạn số lần cập nhật ở mức tối đa là một lần mỗi ngày. Các 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ác bản cập nhật không thành công do mất kết nối Internet sẽ được thử lại ngay khi kết nối lại.

Cập nhật thủ công

Bạn có thể kích hoạt nội dung cập nhật đối với nhóm mối quan tâm do nguồn gốc của khung hiện tại sở hữu theo cách thủ công thông qua navigator.updateAdInterestGroups(). Giới hạn số lượng yêu cầu ngăn việc 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() không thực hiện thao tác nào cho đến khi khoảng thời gian giới hạn số lượng yêu cầu (hiện là một ngày) đã qua. Giới hạn số lượng 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ẽ được cập nhật tự động sau khi phiên đấu giá hoàn tất, tuân theo giới hạn tỷ lệ giống như khi cập nhật 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á, sẽ giống như khi navigator.updateAdInterestGroups() được gọi từ một iframe có gốc khớp với chủ sở hữu đó.

Chỉ định quảng cáo cho nhóm sở thích

Các đối tượng adsadComponents bao gồm URL cho mẫu quảng cáo và siêu dữ liệu tuỳ ý (không bắt buộc) có thể được 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?

Tập lệnh tại biddingLogicUrl do chủ sở hữu nhóm quan tâm cung cấp phải bao gồm một 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 đấ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 từng bên đặt giá thầu trong phiên đấu giá, để tính điểm 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() 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 cho quảng cáo một điểm số mong muốn theo số liệu.

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 đối tượng có cùng mối quan tâm có thể được cập nhật thông qua dailyUpdateUrl.)

  • auctionSignals
    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(). Mục này cung cấp thông tin về bối 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à các siêu dữ liệu khác.

  • perBuyerSignals
    Giống như auctionSignals, một thuộc tính của đối số cấu hình đấu giá được người bán chuyển cho navigator.runAdAuction(). Tính năng 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à 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 lại phản hồ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 nên kiểm tra chữ ký mã hoá của các tín hiệu đó bên trong generateBid() để bảo vệ khỏi hành vi can thiệp.

  • trustedBiddingSignals
    Một đối tượng có khoá là trustedBiddingSignalsKeys cho nhóm đối tượng có cùng mối quan tâm và 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ả) và dữ liệu cho chính nhóm đối tượng có cùng mối quan tâm đó (chẳng hạn như bản ghi thời điểm trước đó nhóm đó đã thắng 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 tham số của 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 biết về giá thầu hoặc mẫu quảng cáo này. Người bán](/privacy-sandbox/resources/lưu#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 đấu giá và quyết định.

  • bid
    Giá thầu bằng số sẽ tham gia phiên đấu giá. Người bán phải có quyền so sánh giá thầu của nhiều người mua. Do đó, giá thầu phải theo đơn vị do người bán chọn (ví dụ: "USD trên mỗi nghìn"). Nếu giá thầu bằng 0 hoặc âm, thì nhóm 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 của 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 nội dung 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 đối tượng có cùng mối quan tâm.

  • adComponents
    Danh sách không bắt buộc gồm tối đa 20 thành phần cho quảng cáo gồm nhiều phần, được lấy từ thuộc tính adComponents của đối số nhóm mối quan tâm đã được 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 sẽ được yêu cầu xoá nhóm đối tượng có cùng mối quan tâm khỏi danh sách các nhóm đối tượng đó.

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ã cho 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ạ 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 bằng cách sử dụng 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

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.

Mục giải thích: Người bán tiến hành 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 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ị.

Người bán không gian quảng cáo đưa ra yêu cầu đến trình duyệt của người dùng để bắt đầu 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ề lời hứa phân giải thành URN (urn:uuid:<something>) đại diện cho kết quả đấu giá quảng cáo. Chỉ trình duyệt mới có thể giải mã điều này khi được truyền vào một 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 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 đó, rồi chỉ định điểm số mong muốn cho quảng cáo đó.

auctionConfig tài sản

Tài sản Bắt buộc Ví dụ: Role
seller Bắt buộc 'https://ssp.example' Nguồn gốc người bán.
decisionLogicUrl Bắt buộc 'https://ssp.example/auction-decision-logic.js' URL dành cho JavaScript worklet đấu giá.
trustedScoringSignalsUrl Không bắt buộc 'https://ssp.example/scoring-signals' URL của 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ả các chủ sở hữu nhóm 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 chế độ cài đặt của nhà xuất bản, việc đưa ra yêu cầu quảng cáo theo bối 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': {...},
...}
Tín hiệu bối cảnh về trang cho 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 bị từ chối dựa trên các tiêu chí khác ngoài việc bao gồm 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 rằng họ tuân thủ chính sách của họ.

** additionalBids không được hỗ trợ trong quá trình triển khai Protected Audience hiện tại. Hãy đọc phần Người tham gia phiên đấu giá trong nội dung 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(). Lệnh này sẽ chạy một lần cho mỗi quảng cáo để xác định mức độ 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 chuyển đến navigator.runAdAuction().
  • trustedScoringSignals
    Các 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 quan điểm của người bán về 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 tìm 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 và một người tham gia sẽ lấy 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ị của Protected Audience.

Trong phiên đấu giá quảng cáo, người bán không gian quảng cáo có thể nhận 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ị bằng cách sử dụng thuộc tính trustedScoringSignalsUrl của đối số cấu hình đấu giá được truyền đến navigator.runAdAuction(), cùng với khoá từ thuộc tính renderUrl của tất cả mục nhập trong trường adsadComponents của tất cả các nhóm 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 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 một yêu cầu đến máy chủ đáng tin cậy của mỗi 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á.

6. Quảng cáo thắng thầu sẽ xuất hiện

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. Quảng cáo về xe đạp (giảm giá 20%) sẽ xuất hiện, với một biểu tượng khoá ở trên để cho thấy quảng cáo đang hiển thị trong một khung có hàng rào.

Phần người 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 mà runAdAuction() trả về sẽ phân giải thành URN được truyền đến khung bảo vệ để hiển thị và trang web sẽ hiển thị quảng cáo giành 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

Mục giải thích: Báo cáo của người bán trên Mạng 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 chuyển đến navigator.runAdAuction().

  • browserSignals
    Đố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',
      '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 của bên đặt giá thầu thắng cuộc

Mục giải thích: Báo cáo của người mua về tính năng 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ị tương tự đã đượ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(), giúp người bán có cơ hội truyền thông tin đến người mua.
  • browserSignals
    Đố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 thắng/thua tạm thời

Có hai phương thức 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 sẽ nhận một đối số duy nhất: một URL để tìm nạp sau khi phiên đấu giá hoàn tất. Các URL này có thể được gọi nhiều lần, trong cả scoreAd()generateBid(), bằng các đối số URL khác nhau.

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

Những phương thức này có sẵn theo mặc định trong Chrome. Để có thể kiểm thử các phương thức, hãy bật tất cả API Quyền riêng tư trong quảng cáo trong chrome://settings/adPrivacy. Nếu đang chạy Chrome có cờ dòng lệnh để bật Protected Audience, bạn cần bật các phương thức này một cách rõ ràng bằng cách đưa vào cờ BiddingAndScoringDebugReportingAPI. Nếu cờ này không được bật, các phương thức vẫn sẽ có sẵn nhưng không làm gì cả.

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 một khung có hàng rào, trên một trang web tin tức, với dữ liệu báo cáo đượ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ài viết Báo cáo quảng cáo có khung bảo vệ.



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

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


Sự khác biệt giữa Protected Audience và TURTLEDOVE là gì?

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 theo 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à trước đó đã tương tác với nhà quảng cáo hoặc mạng quảng cáo. Trước đây, điều này hiệu quả bằng cách nhà quảng cáo nhận ra một người cụ thể khi họ duyệt qua các trang web. Đây là vấn đề cốt lõi về quyền riêng tư của web ngày 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) lưu 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 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 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 hạn chế hơn việc sử dụng các TEE để 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 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ị
  • paraKEET là đề xuất của Microsoft cho việc cung cấp 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à 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 á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 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 hay 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 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 để đảm bảo quyền riêng tư hơn theo thời gian.

Có sẵn cấu hình trình duyệt nào?

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 sẽ 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. 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. 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 khi đề xuất Protected Audience tiến triển, dựa trên các hoạt động kiểm thử và 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.



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 của bạn, về bản minh hoạ hoặc về tài liệu:

Đố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ày. * Báo cáo 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 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ư].

Tìm hiểu thêm


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