Ghi chú phát hành

Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

Hộp cát về quyền riêng tư trên Android cung cấp các chương trình Beta và Bản dùng thử cho nhà phát triển. Chúng tôi sẽ ra mắt các API và tính năng mới trong Bản dùng thử cho nhà phát triển theo thời gian, đồng thời quảng bá các API ổn định cho chương trình Beta. Chúng tôi mong nhận được ý kiến phản hồi.

Nếu bạn chưa quen với Hộp cát về quyền riêng tư trên Android thì trước tiên, hãy xem bài viết Tổng quan về chương trình. Để bắt đầu xây dựng Hộp cát về quyền riêng tư trong dự án, hãy thiết lập môi trường phát triển của bạn rồi tải Hộp cát về quyền riêng tư trên Android xuống thiết bị kiểm thử hoặc trình mô phỏng.

Bản phát hành hiện tại

Bản phát hành Beta 1 của Hộp cát về quyền riêng tư trên Android

Bản phát hành Beta 1 của Hộp cát về quyền riêng tư trên Android là lần đầu tiên API Hộp cát về quyền riêng tư có mặt trên thiết bị công khai, đồng thời bổ sung các điểm cải tiến về những khía cạnh được liệt kê bên dưới.

Tổng quan

  • Bản phát hành Beta 1 của Hộp cát về quyền riêng tư trên Android có chức năng tương đương với Bản dùng thử 5 cho nhà phát triển, với một số tính năng và giới hạn bổ sung được liệt kê dưới đây.
  • Nhà phát triển phải hoàn tất quy trình đăng ký để sử dụng các API liên quan đến quảng cáo (bao gồm các API Chủ đề, FLEDGE và Báo cáo phân bổ). Quy trình đăng ký xác minh danh tính nhà phát triển và thu thập dữ liệu cụ thể về nhà phát triển mà các API cần.
  • Với Bản phát hành Beta 1 của Hộp cát về quyền riêng tư trên Android, các nhà phát triển đã đăng ký và gửi thông tin chi tiết cho danh sách cho phép có thể có cơ hội kiểm thử trên thiết bị thực của riêng họ. Để phát triển dựa trên API ổn định trong bản phát hành, hãy tải SDK Tiện ích Dịch vụ quảng cáo 4 mới xuống.

API Chủ đề

API Báo cáo phân bổ

  • Khoá gỡ lỗi được thêm vào để cho phép các nhà phát triển nhận báo cáo không thay đổi cùng với báo cáo tăng cường bảo vệ quyền riêng tư từ API Báo cáo phân bổ. Khoá gỡ lỗi mang đến cơ hội để hiểu rõ hơn về cách cấu trúc các báo cáo trong khi chuyển đổi bằng Hộp cát về quyền riêng tư.

Thời gian chạy SDK

Chúng tôi dự kiến sẽ khắc phục các hạn chế sau đây trong bản phát hành chính tiếp theo cho nền tảng Android:

  • Hiển thị quảng cáo trong khung hiển thị có thể cuộn, chẳng hạn như RecyclerView, chưa hoạt động đúng cách. Bạn có thể gặp phải hiện tượng giật nếu phần tử thay đổi kích thước. Các sự kiện cuộn bằng thao tác chạm của người dùng không được chuyển đúng cách đến thời gian chạy.
  • Tính năng hiển thị WebView không dùng được trong quy trình Thời gian chạy SDK.
  • Không có bộ nhớ trên mỗi SDK.
  • Chức năng hỗ trợ cho các API getAdIdgetAppSetId chưa được kích hoạt.

Bản phát hành trước đây

Bản dùng thử 6 cho nhà phát triển

Bản dùng thử 6 cho nhà phát triển của Hộp cát về quyền riêng tư trên Android bổ sung các điểm cải tiến về những khía cạnh sau:

Tổng quan

  • Để chuẩn bị cho việc phát hành chính thức, Bản dùng thử cho nhà phát triển 6 đã ra mắt cờ để vô hiệu hoá quyền truy cập vào Privacy-Preserving API (API Bảo đảm quyền riêng tư) theo mặc định. Để kiểm thử, hãy bật quyền truy cập Privacy-Preserving API (API Bảo đảm quyền riêng tư) trong Bản xem trước cho nhà phát triển bằng cách chạy lệnh sau đây:
adb shell device_config put adservices global_kill_switch false
  • API AdIdManagerAppSetIdManager yêu cầu Dịch vụ Google Play phiên bản 22.36.16 trở lên.
    • Trên thiết bị Android, hãy xác minh rằng phần Cài đặt > Ứng dụng > Dịch vụ Google Play nêu đúng phiên bản.
    • Nếu bạn cần cập nhật Dịch vụ Google Play lên phiên bản phù hợp, hãy đăng nhập vào thiết bị kiểm thử hoặc trình mô phỏng Android bằng Tài khoản Google. Sau đó, hãy chuyển đến Cửa hàng Google Play > biểu tượng hồ sơ > Cài đặt > Giới thiệu. Trong tiêu đề Phiên bản Cửa hàng Play, hãy nhấn vào Cập nhật Cửa hàng Play.
    • Bước này chỉ áp dụng cho hoạt động phát triển và kiểm thử, nên sẽ không cần thiết sau khi Hộp cát về quyền riêng tư ra mắt người dùng công khai.

API Chủ đề

  • Thêm API Preview (API Bản xem trước) để chuyển đổi việc getTopics có đăng ký làm trình quan sát hay không.
  • Thay đổi nhỏ đối với mã khởi tạo của lớp GetTopicsRequest.
  • Phát hành Hướng dẫn tích hợp chủ đề.

FLEDGE on Android API (API FLEDGE trên Android)

  • Nếu bạn đang kiểm thử với các máy chủ thực, thì việc bật API này hiện được thực thi. Vui lòng làm theo các bước dưới đây để định cấu hình thiết bị. Bạn không cần phải thực hiện những bước này nếu đang sử dụng cơ chế ghi đè từ xa có trong ứng dụng mẫu.
  • Các thay đổi có thể gây lỗi:
    • Thay thế Url trong các tham số bằng Uri. Sự thay đổi này áp dụng cho tất cả API FLEDGE cũng như JavaScript tuỳ chỉnh cho logic đặt giá thầu và tính điểm.
    • Xoá trường owner khỏi dữ liệu đầu vào của Custom Audience API (API Đối tượng tuỳ chỉnh).
  • Đối tượng tuỳ chỉnh chưa hoàn tất hiện lập tức đủ điều kiện để làm mới trong chế độ nền.
  • Giới hạn bộ nhớ JavaScript hiện được đặt là 10 MB. Sự thay đổi này áp dụng cho logic đặt giá thầu và tính điểm.

API Báo cáo phân bổ

  • Công nghệ quảng cáo cần đăng ký thì mới có thể sử dụng API Báo cáo phân bổ trong Bản dùng thử cho nhà phát triển 6. Hãy xem bài viết Đăng ký tài khoản Hộp cát về quyền riêng tư để biết thêm thông tin.
  • Bản phát hành này giới thiệu về khoá gỡ lỗi, cho phép nhà phát triển nhận báo cáo không thay đổi cùng với báo cáo nâng cao về quyền riêng tư từ API Báo cáo phân bổ. Khoá gỡ lỗi mang đến cơ hội hiểu rõ hơn về cách cấu trúc các báo cáo trong khi chuyển đổi bằng Hộp cát về quyền riêng tư.

Bản dùng thử 5 cho nhà phát triển

Tổng quan

  • Để có thể truy cập API Hộp cát về quyền riêng tư trong Bản dùng thử 5 dành cho nhà phát triển, trước tiên, bạn phải bật các API và định cấu hình các quyền dành riêng cho API.
    • Thiết kế của Hộp cát về quyền riêng tư trên Android cho phép người dùng kiểm soát việc API bảo đảm quyền riêng tư và SDK Thời gian chạy có đang hoạt động trên thiết bị của họ hay không. Theo mặc định, các chế độ cài đặt này sẽ bị tắt trong Bản dùng thử 5 cho nhà phát triển. Bạncó thể bật quyền truy cập API bằng cách sử dụng lệnh adb.
    • Ứng dụng gọi phải chỉ định các quyền dành riêng cho API trong tệp kê khai và cấu hình AdServices liên quan giúp kiểm soát quyền truy cập đối với các SDK được nhúng.
  • Ứng dụng phải gọi các API bảo vệ quyền riêng tư khi chạy ở nền trước.
  • AdIdManagerAppSetIdManager hiện không hoạt động. Chúng sẽ được kích hoạt trong bản phát hành sau này.

SDK Thời gian chạy

  • sendData() sẽ không được dùng nữa trong các phiên bản sắp tới.
  • loadSdk() hiện trả về đối tượng IBinder để hỗ trợ giao tiếp 2 chiều giữa SDK hỗ trợ thời gian chạy và các ứng dụng được xác định trong AIDL.
  • Các ứng dụng có quyền truy cập vào các sự kiện khác trong vòng đời SDK kích hoạt bởi thời gian chạy, chẳng hạn như khi quá trình SDK kết thúc.

API Báo cáo phân bổ

Bản phát hành này giới thiệu các tính năng khác trong API Báo cáo phân bổ, bao gồm:

  • Hỗ trợ báo cáo tổng hợp đã mã hoá.
  • Hỗ trợ đo lường trên nhiều ứng dụng và web.
  • Các tiêu đề hợp nhất trong phản hồi đăng ký nguồn và trình kích hoạt:
    • Nguồn: Attribution-Reporting-Register-Aggregatable-Source hiện là một phần của Attribution-Reporting-Register-Source
    • Trình kích hoạt: Chúng ta đã hợp nhất Attribution-Reporting-Register-Event-Trigger, Attribution-Reporting-Register-Aggregatable-Trigger-DataAttribution-Reporting-Register-Aggregatable-Values vào một tiêu đề duy nhất có tên là Attribution-Reporting-Register-Event-Trigger
    • Attribution-Reporting-Redirects vẫn là một tiêu đề riêng biệt

FLEDGE trên API Android

Bản phát hành này bao gồm một số tính năng và điểm cải tiến mới, cũng như một số thay đổi có thể gây lỗi:

  • Thay đổi có thể gây lỗi:
    • runAdSelection() đổi tên thành selectAds().
    • Thay thế thông số AdSelectionConfig.Builder.setAdSelectionSignals() bằng AdSelectionSignals, đại diện cho đối tượng JSON.
    • Chuyển từ String sang dùng đối tượng AdTechIdentifier để đại diện cho người mua/người bán công nghệ quảng cáo.
    • Thêm các lớp TestCustomAudienceManagerTestAdSelectionManager để ghi đè tính năng tìm nạp JavaScript từ xa.
    • Chủ sở hữu của đối tượng tuỳ chỉnh phải là tên gói của ứng dụng gọi.
  • API FLEDGE hiện xác thực phương thức gọi của ứng dụng theo một tập hợp các hạn chế và giới hạn được mô tả trong hướng dẫn cho nhà phát triển. Dưới đây là một số ví dụ đáng chú ý.
    • selectAdsreportImpression hiện có giới hạn thời gian thực thi, sau đó lệnh gọi sẽ kết thúc.
    • selectAdsreportImpression hiện có giới hạn về bộ nhớ được sử dụng trong quá trình thực thi JavaScript. Các API sẽ báo lỗi nếu mức sử dụng bộ nhớ vượt quá giới hạn đã định cấu hình.
    • selectAdsreportImpression hiện xác thực đối tượng AdSelectionConfig để đảm bảo các trường có cú pháp hợp lệ và rằng các URL thuộc eTLD+1 được dùng trong trường của người bán.
    • AdServices hiện xác thực các đối tượng tuỳ chỉnh tại thời điểm tạo. Quy trình xác thực này bao gồm việc đảm bảo thời hạn hợp lệ và áp dụng giới hạn về số lượng đối tượng tuỳ chỉnh mà một ứng dụng có thể tạo cũng như tổng kích thước của quảng cáo được cung cấp trong lệnh gọi joinCustomAudience. Quy trình xác thực cũng đảm bảo các URI được cung cấp cho tín hiệu, hoạt động truy xuất logic đặt giá thầu và tìm nạp chạy nền đều thuộc miền của người mua.
  • Siêu dữ liệu của đối tượng tuỳ chỉnh được cập nhật hằng ngày bằng một quy trình tìm nạp trong nền.
  • Đối tượng tuỳ chỉnh bị xoá khi bạn gỡ cài đặt ứng dụng "chủ sở hữu".
  • Thêm hỗ trợ để chỉ định Tín hiệu tính điểm đáng tin cậy và Dữ liệu đặt giá thầu đáng tin cậy trong quá trình lựa chọn quảng cáo. Xem mã mẫu để biết định dạng phản hồi.
  • FLEDGE dành cho API Android phụ thuộc vào WebView phiên bản 105.0.5195.58 trở lên. Tham khảo thông tin thiết lập trong hướng dẫn cho nhà phát triển để biết thêm chi tiết.
  • Vấn đề đã biết:

    • Khi tham gia đối tượng tuỳ chỉnh, nền tảng hiện không cập nhật ngay nền nếu bất kỳ siêu dữ liệu hay giá trị AdData nào trống hoặc null. Đối tượng tuỳ chỉnh sẽ không đủ điều kiện để lựa chọn quảng cáo cho đến khi được cập nhật 1 ngày sau đó. Bản phát hành trong tương lai sẽ khiến các đối tượng tuỳ chỉnh chưa hoàn tất lập tức đủ điều kiện để cập nhật tìm nạp ở chế độ nền. Giới hạn bộ nhớ mặc định hiện tại để thực thi JavaScript quá thấp và có thể khiến khối lượng công việc thông thường gặp lỗi JavaScriptEngine trên các thiết bị. Quá trình thực thi JavaScript của bạn có thể chấm dứt đột ngột với thông báo lỗi "Fatal javascript OOM in CALL_AND_RETRY_LAST".

      Bạn có thể tự giải quyết vấn đề này bằng cách định cấu hình ngưỡng bộ nhớ thích hợp bằng lệnh sau đây:

      adb shell "device_config put adservices fledge_js_isolate_enforce_max_heap_size 10485760"
      
    • Những quảng cáo đối tượng tuỳ chỉnh không khớp với cấu trúc JSON bắt buộc sẽ được cập nhật trong quá trình tìm nạp ở chế độ nền.

API Chủ đề

Thông tin cập nhật về công cụ

Android Studio Canary hỗ trợ tạo APK SDK bằng một loại mô-đun mới. Hướng dẫn dành cho nhà phát triển SDK Thời gian chạy đã được cập nhật và ứng dụng mẫu Hộp cát về quyền riêng tư trên GitHub sẽ phản ánh nội dung cập nhật này.

Bản dùng thử 4 cho nhà phát triển

Ngày phát hành: 14 tháng 7 năm 2022

Hộp cát về quyền riêng tư trên Bản dùng thử dành cho nhà phát triển Android 4 bổ sung các điểm cải tiến trong các lĩnh vực sau:

SDK Thời gian chạy

  • Các ứng dụng hiện đã có thể giao tiếp với SDK hỗ trợ thời gian chạy (RE-SDK) thông qua việc bổ sung phương thức sendData().
  • Bộ nhớ cục bộ hiện có sẵn trong quá trình xử lý SDK thời gian chạy.
  • SDK cũng có thể hiển thị nội dung hoặc quảng cáo dựa trên video độc lập trong SDK Thời gian chạy.
  • Đã thêm thông tin làm rõ việc sử dụng tính năng phản chiếu để đưa tính năng này vào, miễn là nội dung không nằm trong SDK RE khác.

API Báo cáo phân bổ

Bản phát hành này cung cấp các thay đổi để cải thiện tính rõ ràng trong việc sử dụng API Báo cáo phân bổ, chẳng hạn như:

  • Thay đổi về định dạng báo cáo tổng hợp để cải thiện khả năng đọc.
  • Cập nhật trường tiêu đề cho tính năng Lọc lượt chuyển đổi và Khả năng đặt giá thầu.
  • Thêm thông tin làm rõ trong Tài liệu tham khảo về API WebApp để giải thích về cách đăng ký nguồn và điều kiện kích hoạt, cũng như tính sẵn có của API quyền riêng tư và sự đồng ý.

FLEDGE trên API Android

Bản phát hành này bao gồm một số tính năng mới để hỗ trợ hoạt động thử nghiệm và gỡ lỗi cũng như cải tiến nội bộ:

  • Thêm tuỳ chọn hỗ trợ để ghi đè các URL từ xa nhằm truy xuất logic JavaScript trong quá trình phát triển.
  • Cải thiện báo cáo lỗi trong quá trình lựa chọn quảng cáo.
  • Đối tượng tuỳ chỉnh không hoạt động hiện được lọc ra trong quá trình lựa chọn quảng cáo.

API Chủ đề

Bản phát hành này bao gồm một số thay đổi quan trọng đối với API Chủ đề, quan trọng nhất là:

  • Loại dữ liệu trả về của API getTopics() đã được thay đổi thành loại đối tượng Topic mới, đối tượng này đóng gói các mã số nguyên tương ứng với Chủ đề trong Hệ thống phân loại, và thông tin về thuật toán phân loại cũng như phiên bản Phân loại. Bạn nên cập nhật mọi ứng dụng hiện có bằng API này.
  • API Chủ đề hiện yêu cầu quyền thông thường mới.
  • Giới thiệu về hệ thống "Thuật toán phân loại trên thiết bị" để tự động chỉ định các Chủ đề dựa trên thông tin được cung cấp công khai về ứng dụng.

Vấn đề đã biết

  • Bản phát hành ban đầu của các hình ảnh thiết bị này (bản sửa đổi 6) không tải trên Trình mô phỏng Android phiên bản 31.2.10. Hình ảnh thiết bị cập nhật giải quyết sự cố đã được cung cấp kể từ ngày 27 tháng 7 năm 2022.

Bản dùng thử 3 cho nhà phát triển

Ngày phát hành: 9 tháng 6 năm 2022

Hộp cát về quyền riêng tư trên Bản dùng thử dành cho nhà phát triển Android 3 bổ sung chức năng cho API Báo cáo phân bổ và FLEDGE trên Android.

API Báo cáo phân bổ

API Báo cáo phân bổ cải thiện quyền riêng tư cho người dùng bằng cách loại bỏ sự phụ thuộc vào giá trị nhận dạng người dùng giữa nhiều bên, đồng thời hỗ trợ các trường hợp sử dụng chính để phân bổ và đo lường lượt chuyển đổi trên các ứng dụng.

Bản phát hành này bao gồm các tài nguyên dành cho nhà phát triển để giúp bạn thử nghiệm các tính năng API Báo cáo phân bổ sau đây:

  • Đăng ký nguồn phân bổ và kích hoạt sự kiện
  • Thực hiện phân bổ ưu tiên nguồn và phân bổ sau khi cài đặt
  • Nhận báo cáo sự kiện
  • Nhận các báo cáo tổng hợp, chưa mã hoá trong bản phát hành này

Ứng dụng mẫu và máy chủ công nghệ quảng cáo tham chiếu được cung cấp để hỗ trợ quá trình kiểm thử

Vấn đề đã biết:

FLEDGE dành cho Android

FLEDGE trên Android ra mắt cách thức mới để hiển thị quảng cáo dựa trên đối tượng tuỳ chỉnh do nhà phát triển ứng dụng xác định và lượt tương tác trong ứng dụng của họ. Giải pháp này sẽ lưu trữ thông tin và các quảng cáo được liên kết ngay trên thiết bị, đồng thời cung cấp khung để sắp xếp các quy trình lựa chọn quảng cáo.

Bản phát hành này bao gồm các tài nguyên dành cho nhà phát triển giúp bạn thử nghiệm các tính năng FLEDGE sau đây trên Android:

  • Tham gia hoặc rời khỏi đối tượng tuỳ chỉnh và quan sát xem giá trị thông số có thể ảnh hưởng như thế nào đến kết quả của phiên đấu giá
  • Tìm nạp mã đấu giá JavaScript từ các điểm cuối từ xa
  • Định cấu hình và bắt đầu phiên đấu giá quảng cáo trên thiết bị
  • Xử lý báo cáo hiển thị
  • Ứng dụng mẫu và cấu hình máy chủ mô phỏng được cung cấp để hỗ trợ thử nghiệm

Vấn đề đã biết:

Bản dùng thử dành cho nhà phát triển 2

Ngày phát hành: 17 tháng 5 năm 2022

Bản dùng thử 2 cho nhà phát triển bao gồm bản xem trước sớm của API báo cáo phân bổ MeasurementManager.

  • Bạn có thể gọi registerSource()registerTrigger() để đăng ký các sự kiện quảng cáo ứng dụng và nhận dữ liệu báo cáo ở cấp sự kiện cho phân bổ ứng dụng với ứng dụng. Cách triển khai hiện tại của chúng tôi sử dụng mô hình phân bổ theo lượt chạm cuối cùng. Bạn có thể lên lịch gửi báo cáo theo quy định trong khoảng thời gian báo cáo. Tham khảo API MeasurementManager để biết thêm thông tin.
  • Quá trình tải báo cáo thực tế lên diễn ra vào cuối các khoảng thời gian cố định, thay vì vào đúng thời gian đã lên lịch. Khoảng thời gian tải báo cáo lên là 4 giờ theo mặc định, nhưng bạn có thể ghi đè khoảng thời gian này bằng lệnh adb sau đây:

    adb shell device_config put adservices measurement_main_reporting_job_period_ms <duration in milliseconds>
    
  • Ứng dụng mẫu và máy chủ công nghệ quảng cáo tham chiếu để kiểm thử API sẽ được công bố ở bản phát hành trong tương lai.

  • Các tính năng khác của API Báo cáo phân bổ MeasurementManager, chẳng hạn như báo cáo tổng hợp, phân bổ sau khi cài đặt và chuyển hướng, sẽ được đưa vào bản phát hành trong tương lai.

Bản dùng thử dành cho nhà phát triển 1

Ngày phát hành: 28 tháng 4 năm 2022

Bản dùng thử 1 cho nhà phát triển bao gồm các bản xem trước của API Chủ đềSDK Thời gian chạy. Chức năng dành cho FLEDGE trên AndroidAPI báo cáo phân bổ sẽ được đưa vào bản phát hành trong tương lai.

  • API Chủ đề
    • API getTopics() hiện trả về các giá trị thử nghiệm dựa trên phân loại ngoại tuyến cho một nhóm ứng dụng giới hạn. Việc phân loại trên thiết bị chưa được triển khai.
    • Bạn có thể sử dụng các lệnh adb để ghi đè khoảng thời gian epoch và tính toán buộc kích hoạt.
    • Đọc Hướng dẫn dành cho nhà lập trình chủ đề để biết chi tiết.
  • SDK Thời gian chạy
    • Bạn có thể đóng gói và xây dựng các SDK có hỗ trợ thời gian chạy (RE SDK) bằng cách sử dụng phần tử <sdk-library> mới trong tệp kê khai của ứng dụng SDK. Cài đặt RE SDK trên một thiết bị thử nghiệm hoặc trình mô phỏng được hỗ trợ như cài đặt bình thường một ứng dụng trong lập trình.
    • Bạn có thể tích hợp ứng dụng với RE SDK, tải chúng trong Thời gian chạy SDK và kiểm tra tác động của quyền truy cập bị hạn chế đối với mã SDK – quyền, bộ nhớ và hoạt động giao tiếp giữa các ứng dụng với SDK. Các API lưu trữ cho RE SDK chưa được triển khai và sẽ có trong bản phát hành trong tương lai.
    • SDK có thể hiển thị nội dung hoặc quảng cáo biểu ngữ dựa trên WebView trong Thời gian chạy SDK.
    • Đọc hướng dẫn dành cho nhà lập trình SDK Thời gian chạy để biết thêm thông tin.
  • Kiểm tra màn hình Android
    • Tính năng kiểm tra lint của Android có thể hiển thị không chính xác cảnh báo trong các dự án được biên dịch ở cấp độ API TiramisuPrivacySandbox. Ví dụ: bạn có thể thấy thông báo cảnh báo: "Cuộc gọi yêu cầu API cấp 33". Bạn có thể tạm thời giải quyết vấn đề này bằng cách sử dụng chú giải @SuppressLint("NewApi").