AdSelectionManager
  public
  
  
  
  class
  AdSelectionManager
  
    extends Object
  
  
  
  
  
  
| java.lang.Object | |
| ↳ | android.adservices.adselection.AdSelectionManager | 
AdSelection Manager cung cấp các API cho ứng dụng và SDK quảng cáo để chạy quy trình lựa chọn quảng cáo cũng như báo cáo số lần hiển thị.
Tóm tắt
| Phương thức công khai | |
|---|---|
| 
        
        
        static
        
        
        AdSelectionManager | 
      get(Context context)
      Phương thức ban đầu để tạo một thực thể của AdSelectionManager. | 
| 
        
        
        
        
        
        void | 
      getAdSelectionData(GetAdSelectionDataRequest request, Executor executor, OutcomeReceiver<GetAdSelectionDataOutcome, Exception> receiver)
      Thu thập dữ liệu đối tượng tuỳ chỉnh từ thiết bị. | 
| 
        
        
        
        
        
        TestAdSelectionManager | 
      getTestAdSelectionManager()
       | 
| 
        
        
        
        
        
        void | 
      persistAdSelectionResult(PersistAdSelectionResultRequest request, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
      Duy trì kết quả lựa chọn quảng cáo từ phía máy chủ. | 
| 
        
        
        
        
        
        void | 
      reportEvent(ReportEventRequest request, Executor executor, OutcomeReceiver<Object, Exception> receiver)
      Thông báo cho dịch vụ rằng có một sự kiện quảng cáo mới cần báo cáo cho quảng cáo do
 ad-selection chạy do  | 
| 
        
        
        
        
        
        void | 
      reportImpression(ReportImpressionRequest request, Executor executor, OutcomeReceiver<Object, Exception> receiver)
      Thông báo cho dịch vụ rằng có một lượt hiển thị mới cần báo cáo cho quảng cáo do
 ad-selection chạy do  | 
| 
        
        
        
        
        
        void | 
      selectAds(AdSelectionFromOutcomesConfig adSelectionFromOutcomesConfig, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
      Chọn một quảng cáo từ kết quả của các lựa chọn quảng cáo đã chạy trước đây. | 
| 
        
        
        
        
        
        void | 
      selectAds(AdSelectionConfig adSelectionConfig, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
      Chạy quy trình lựa chọn quảng cáo trên thiết bị để chọn quảng cáo tái tiếp thị cho phương thức gọi . | 
| 
        
        
        
        
        
        void | 
      updateAdCounterHistogram(UpdateAdCounterHistogramRequest updateAdCounterHistogramRequest, Executor executor, OutcomeReceiver<Object, Exception> outcomeReceiver)
      Cập nhật biểu đồ bộ đếm cho một quảng cáo đã được chọn trước đó bằng lệnh gọi đến  | 
| Các phương thức kế thừa | |
|---|---|
Phương thức công khai
get
public static AdSelectionManager get (Context context)
Phương thức ban đầu để tạo một thực thể của AdSelectionManager.
| Tham số | |
|---|---|
| context | Context:Contextđể sử dụng
 Giá trị này không được lànull. | 
| Giá trị trả về | |
|---|---|
| AdSelectionManager | Một thực thể AdSelectionManagerGiá trị này không được lànull. | 
getAdSelectionData
public void getAdSelectionData (GetAdSelectionDataRequest request, Executor executor, OutcomeReceiver<GetAdSelectionDataOutcome, Exception> receiver)
Thu thập dữ liệu đối tượng tuỳ chỉnh từ thiết bị. Trả về blob đã nén và mã hóa để gửi đến máy chủ đấu giá để lựa chọn quảng cáo. Để biết thêm chi tiết, vui lòng truy cập vào phần Đặt giá thầu và Công cụ giải thích về dịch vụ đấu giá.
Quảng cáo đối tượng tuỳ chỉnh phải có ad_render_id để đủ điều kiện được thu thập.
 
Vui lòng xem AdSelectionManager#persistAdSelectionResult để biết cách xử lý kết quả của
 lựa chọn quảng cáo chạy ở phía máy chủ với blob do API này tạo.
 
Đầu ra được truyền bởi trình thu nhận, sẽ trả về GetAdSelectionDataOutcome để chạy thành công hoặc Exception bao gồm loại
 trường hợp ngoại lệ được gửi và thông báo lỗi tương ứng.
 
Nếu IllegalArgumentException được gửi, thì đó là do đối số đầu vào không hợp lệ
 API nhận được để chạy lựa chọn quảng cáo.
 
Nếu IllegalStateException nhận được thông báo lỗi "Không thành công của AdSelection
 dịch vụ.", vấn đề này là do lỗi nội bộ của dịch vụ lựa chọn quảng cáo.
 
Nếu TimeoutException được gửi, thì lỗi này sẽ xảy ra khi hết thời gian chờ
 trong quá trình đặt giá thầu, tính điểm hoặc lựa chọn tổng thể để tìm Quảng cáo giành chiến thắng.
 
Nếu LimitExceededException được gửi, thì lỗi này sẽ xảy ra khi gói gọi
 vượt quá giới hạn tốc độ cho phép và được điều tiết.
 
Nếu SecurityException được gửi, thì lỗi này sẽ xảy ra khi phương thức gọi không được uỷ quyền
 hoặc chưa yêu cầu quyền.
 
 
 Cần có AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
| Tham số | |
|---|---|
| request | GetAdSelectionDataRequest: Giá trị này không được lànull. | 
| executor | Executor: Giá trị này không được lànull.
 
 Các sự kiện gọi lại và trình nghe được gửi thông quaExecutor, giúp bạn dễ dàng kiểm soát luồng nào
 đã sử dụng. Để gửi sự kiện thông qua chuỗi chính của
 ứng dụng, bạn có thể sử dụngContext.getMainExecutor().
 Nếu không, hãy cung cấpExecutorđể gửi đến một luồng phù hợp. | 
| receiver | OutcomeReceiver: Giá trị này không được lànull. | 
getTestAdSelectionManager
public TestAdSelectionManager getTestAdSelectionManager ()
| Giá trị trả về | |
|---|---|
| TestAdSelectionManager | Giá trị này không được là null. | 
kiên trìAdSelectionResult
public void persistAdSelectionResult (PersistAdSelectionResultRequest request, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
Duy trì kết quả lựa chọn quảng cáo từ phía máy chủ. Để biết thêm chi tiết, vui lòng truy cập vào phần Đặt giá thầu và Công cụ giải thích về dịch vụ đấu giá
Vui lòng xem AdSelectionManager#getAdSelectionData để biết cách tạo blob đã mã hoá để
 chạy lựa chọn quảng cáo ở phía máy chủ.
 
Đầu ra được truyền bởi trình nhận và sẽ trả về một AdSelectionOutcome
 để chạy thành công hoặc một Exception bao gồm loại ngoại lệ được gửi và
 thông báo lỗi tương ứng.
 
Nếu IllegalArgumentException được gửi, thì đó là do đối số đầu vào không hợp lệ
 API nhận được để chạy lựa chọn quảng cáo.
 
Nếu IllegalStateException nhận được thông báo lỗi "Không thành công của AdSelection
 dịch vụ.", vấn đề này là do lỗi nội bộ của dịch vụ lựa chọn quảng cáo.
 
Nếu TimeoutException được gửi, thì lỗi này sẽ xảy ra khi hết thời gian chờ
 trong quá trình đặt giá thầu, tính điểm hoặc lựa chọn tổng thể để tìm Quảng cáo giành chiến thắng.
 
Nếu LimitExceededException được gửi, thì lỗi này sẽ xảy ra khi gói gọi
 vượt quá giới hạn tốc độ cho phép và được điều tiết.
 
Nếu SecurityException được gửi, thì lỗi này sẽ xảy ra khi phương thức gọi không được uỷ quyền
 hoặc chưa yêu cầu quyền.
 
 
 Cần có AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
| Tham số | |
|---|---|
| request | PersistAdSelectionResultRequest: Giá trị này không được lànull. | 
| executor | Executor: Giá trị này không được lànull.
 
 Các sự kiện gọi lại và trình nghe được gửi thông quaExecutor, giúp bạn dễ dàng kiểm soát luồng nào
 đã sử dụng. Để gửi sự kiện thông qua chuỗi chính của
 ứng dụng, bạn có thể sử dụngContext.getMainExecutor().
 Nếu không, hãy cung cấpExecutorđể gửi đến một luồng phù hợp. | 
| receiver | OutcomeReceiver: Giá trị này không được lànull. | 
reportEvent
public void reportEvent (ReportEventRequest request, Executor executor, OutcomeReceiver<Object, Exception> receiver)
Thông báo cho dịch vụ rằng có một sự kiện quảng cáo mới cần báo cáo cho quảng cáo do
 ad-selection chạy do adSelectionId xác định. Sự kiện quảng cáo là bất kỳ lần xuất hiện nào
 xảy ra với quảng cáo liên kết với adSelectionId đã cho. Google không đảm bảo về
 thời điểm sự kiện quảng cáo được báo cáo. Quá trình báo cáo sự kiện có thể bị chậm trễ và quá trình báo cáo có thể
 theo lô.
 
Khi sử dụng ReportEventRequest#getKey(), dịch vụ sẽ tìm nạp reportingUri
 đã được đăng ký tại registerAdBeacon. Xem tài liệu của reportImpression(ReportImpressionRequest, Executor, OutcomeReceiver) để biết thêm thông tin về registerAdBeacon. Sau đó, dịch vụ
 sẽ đính kèm ReportEventRequest#getData() vào nội dung yêu cầu của yêu cầu POST và
 gửi yêu cầu. Phần nội dung của yêu cầu POST sẽ có content-type là text/plain và dữ liệu sẽ được truyền trong charset=UTF-8.
 
Đầu ra được truyền bởi trình nhận, sẽ trả về một Object trống cho một
 chạy thành công hoặc một Exception bao gồm loại ngoại lệ được gửi và loại
 thông báo lỗi tương ứng.
 
Nếu IllegalArgumentException được gửi, thì đó là do đối số đầu vào không hợp lệ
 API nhận được để báo cáo sự kiện quảng cáo.
 
Nếu IllegalStateException nhận được thông báo lỗi "Không thành công của AdSelection
 dịch vụ.", vấn đề này là do lỗi nội bộ của dịch vụ lựa chọn quảng cáo.
 
Nếu LimitExceededException được gửi, thì lỗi này sẽ xảy ra khi gói gọi
 vượt quá giới hạn tốc độ cho phép và được điều tiết.
 
Nếu SecurityException được gửi, thì lỗi này sẽ xảy ra khi phương thức gọi không được uỷ quyền
 hoặc chưa yêu cầu quyền.
 
Hệ thống sẽ báo cáo sự kiện tối đa một lần là nỗ lực tối đa.
 
 
 Cần có AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
| Tham số | |
|---|---|
| request | ReportEventRequest: Giá trị này không được lànull. | 
| executor | Executor: Giá trị này không được lànull. | 
| receiver | OutcomeReceiver: Giá trị này không được lànull. | 
lượt hiển thị báo cáo
public void reportImpression (ReportImpressionRequest request, Executor executor, OutcomeReceiver<Object, Exception> receiver)
Thông báo cho dịch vụ rằng có một lượt hiển thị mới cần báo cáo cho quảng cáo do
 ad-selection chạy do adSelectionId xác định. Không thể đảm bảo về thời điểm
 sẽ được báo cáo. Việc báo cáo lượt hiển thị có thể bị chậm trễ và quá trình báo cáo có thể
 theo lô.
 
Để tính URL báo cáo của người bán giành chiến thắng, dịch vụ sẽ tìm nạp JavaScript của người bán
 logic từ AdSelectionConfig#getDecisionLogicUri() được tìm thấy tại ReportImpressionRequest.getAdSelectionConfig(). Sau đó, dịch vụ thực thi một trong những
 các hàm được tìm thấy trong JS của người bán có tên là reportResult. Các hàm này cung cấp các tín hiệu trên thiết bị như
 cũng như ReportImpressionRequest#getAdSelectionConfig() làm tham số đầu vào.
 
Định nghĩa hàm của reportResult là:
 
function reportResult(ad_selection_config, render_url, bid, contextual_signals) {
 return { 'status': status, 'results': {'signals_for_buyer': signals_for_buyer,
 'reporting_url': reporting_url } }; } 
 
Để tính toán URL báo cáo của người mua giành chiến thắng, dịch vụ này tìm nạp URL của người mua giành chiến thắng
 Logic JavaScript được tìm nạp qua CustomAudience.getBiddingLogicUri() của người mua. Sau đó, dịch vụ
 thực thi một trong các hàm có trong JS của người mua có tên là reportWin, cung cấp
 tín hiệu trên thiết bị, signals_for_buyer do reportResult tính toán và chỉ số cụ thể
 từ ReportImpressionRequest#getAdSelectionConfig() làm tham số đầu vào.
 
Định nghĩa hàm của reportWin là:
 
function reportWin(ad_selection_signals, per_buyer_signals, signals_for_buyer,
 contextual_signals, custom_audience_reporting_signals) { return {'status': 0, 'results':
 {'reporting_url': reporting_url } }; } 
 
Ngoài ra, người mua và người bán có tuỳ chọn đăng ký để nhận báo cáo về
 sự kiện quảng cáo. Để làm vậy, chúng có thể gọi hàm registerAdBeacon do nền tảng cung cấp
 bên trong reportWin và reportResult cho người mua và người bán.
 
Định nghĩa hàm của registerBeacon là:
 
function registerAdBeacon(beacons), trong đó beacons là ký tự của chuỗi
 cặp chuỗi
 
Đối với mỗi sự kiện quảng cáo mà người mua/người bán quan tâm đến báo cáo, họ sẽ thêm cặp event_key: event_reporting_uri vào lệnh chính beacons, trong đó event_key là giá trị nhận dạng cho sự kiện cụ thể đó. event_key này phải khớp với
 ReportEventRequest#getKey() khi SDK gọi reportEvent(ReportEventRequest, Executor, OutcomeReceiver). Ngoài ra,
 mỗi event_reporting_uri phải được phân tích cú pháp chính xác thành Uri. Chiến dịch này
 sẽ là Uri được báo cáo khi SDK gọi reportEvent(ReportEventRequest, Executor, OutcomeReceiver).
 
Khi người mua/người bán đã thêm tất cả các cặp mà họ muốn nhận sự kiện, họ có thể
 gọi registerAdBeacon(beacons), trong đó beacons là tên của lệnh chính
 đã thêm cặp vào.
 
registerAdBeacon sẽ gửi TypeError trong các trường hợp sau:
 
- registerAdBeaconđược gọi nhiều lần. Nếu lỗi này được phát hiện trong reportWin/reportResult, thì tập hợp ghép nối ban đầu sẽ được đăng ký
- registerAdBeaconkhông có đúng 1 đối số chính tả.
- Nội dung của đối số chính tả 1 không phải là toàn bộ các cặp String: String.
Đầu ra được receiver truyền vào và trả về một Object trống
 để chạy thành công hoặc Exception bao gồm loại ngoại lệ được gửi và
 thông báo lỗi tương ứng.
 
Nếu IllegalArgumentException được gửi, thì đó là do đối số đầu vào không hợp lệ
 API nhận được để báo cáo lượt hiển thị.
 
Nếu IllegalStateException nhận được thông báo lỗi "Không thành công của AdSelection
 dịch vụ.", vấn đề này là do lỗi nội bộ của dịch vụ lựa chọn quảng cáo.
 
Nếu LimitExceededException được gửi, thì lỗi này sẽ xảy ra khi gói gọi
 vượt quá giới hạn tốc độ cho phép và được điều tiết.
 
Nếu SecurityException được gửi, thì lỗi này sẽ xảy ra khi phương thức gọi không được uỷ quyền
 hoặc chưa yêu cầu quyền.
 
Lượt hiển thị sẽ được báo cáo tối đa một lần là nỗ lực tối đa.
 
 
 Cần có AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
| Tham số | |
|---|---|
| request | ReportImpressionRequest: Giá trị này không được lànull. | 
| executor | Executor: Giá trị này không được lànull. | 
| receiver | OutcomeReceiver: Giá trị này không được lànull. | 
ChọnQuảng cáo
public void selectAds (AdSelectionFromOutcomesConfig adSelectionFromOutcomesConfig, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
Chọn một quảng cáo từ kết quả của các lựa chọn quảng cáo đã chạy trước đây.
Dữ liệu đầu vào adSelectionFromOutcomesConfig do SDK quảng cáo cung cấp và đối tượng AdSelectionFromOutcomesConfig được chuyển thông qua lệnh gọi Binder. Vì lý do này,
 tổng kích thước của các đối tượng này bị ràng buộc với các giới hạn IPC của Android. Không thể chuyển
 AdSelectionFromOutcomesConfig sẽ gửi một TransactionTooLargeException.
 
Đầu ra được truyền bởi trình nhận và sẽ trả về một AdSelectionOutcome
 để chạy thành công hoặc một Exception bao gồm loại ngoại lệ được gửi và
 thông báo lỗi tương ứng.
 
Dữ liệu đầu vào adSelectionFromOutcomesConfig chứa:
 
- Sellerphải là- AdTechIdentifierđã đăng ký. Nếu không,- IllegalStateExceptionsẽ được gửi.
- List of ad selection idsphải tồn tại và xuất phát từ các lệnh gọi- selectAds(AdSelectionConfig, Executor, OutcomeReceiver)đến từ cùng một ứng dụng. Nếu không,- IllegalArgumentExceptionđể xác thực dữ liệu đầu vào sẽ tăng trang thông tin vi phạm các mã lựa chọn.
- Selection logic URIcó thể tuân theo HTTPS hoặc Giao thức tạo sẵn Lựa chọn quảng cáo giản đồ.- Nếu URI tuân theo giản đồ HTTPS, thì máy chủ lưu trữ phải khớp với - seller. Nếu không, hệ thống sẽ gửi- IllegalArgumentException.- URI dựng sẵn là một cách thay thế logic dựng sẵn chung cho yêu cầu JavaScript cho - selectOutcome. URI dựng sẵn cho điểm cuối này sẽ tuân theo;- ad-selection-prebuilt://ad-selection-from-outcomes/<name>?<script-generation-parameters>
 - Nếu bạn truyền một URI dựng sẵn không được hỗ trợ hoặc tính năng URI dựng sẵn bị tắt thì - IllegalArgumentExceptionsẽ được gửi.- Hãy xem - AdSelectionFromOutcomesConfig.Builder#setSelectionLogicUriđể biết các địa chỉ được hỗ trợ- <name>và bắt buộc phải có- <script-generation-parameters>.
Nếu IllegalArgumentException được gửi, thì đó là do đối số đầu vào không hợp lệ
 API nhận được để chạy lựa chọn quảng cáo.
 
Nếu IllegalStateException nhận được thông báo lỗi "Không thành công của AdSelection
 dịch vụ.", vấn đề này là do lỗi nội bộ của dịch vụ lựa chọn quảng cáo.
 
Nếu TimeoutException được gửi, thì lỗi này sẽ xảy ra khi hết thời gian chờ
 trong quá trình đặt giá thầu, tính điểm hoặc lựa chọn tổng thể để tìm Quảng cáo giành chiến thắng.
 
Nếu LimitExceededException được gửi, thì lỗi này sẽ xảy ra khi gói gọi
 vượt quá giới hạn tốc độ cho phép và được điều tiết.
 
Nếu SecurityException được gửi, thì lỗi này sẽ xảy ra khi phương thức gọi không được uỷ quyền
 hoặc chưa yêu cầu quyền.
 
 
 Cần có AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
| Tham số | |
|---|---|
| adSelectionFromOutcomesConfig | AdSelectionFromOutcomesConfig: Giá trị này không được lànull. | 
| executor | Executor: Giá trị này không được lànull.
 
 Các sự kiện gọi lại và trình nghe được gửi thông quaExecutor, giúp bạn dễ dàng kiểm soát luồng nào
 đã sử dụng. Để gửi sự kiện thông qua chuỗi chính của
 ứng dụng, bạn có thể sử dụngContext.getMainExecutor().
 Nếu không, hãy cung cấpExecutorđể gửi đến một luồng phù hợp. | 
| receiver | OutcomeReceiver: Giá trị này không được lànull. | 
ChọnQuảng cáo
public void selectAds (AdSelectionConfig adSelectionConfig, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
Chạy quy trình lựa chọn quảng cáo trên thiết bị để chọn quảng cáo tái tiếp thị cho phương thức gọi .
Dữ liệu đầu vào adSelectionConfig do SDK quảng cáo cung cấp và đối tượng AdSelectionConfig được chuyển thông qua lệnh gọi Binder. Vì lý do này, tổng kích thước
 trong số các đối tượng này bị ràng buộc với các giới hạn IPC của Android. Nếu không chuyển được AdSelectionConfig, bạn sẽ gửi một TransactionTooLargeException.
 
Dữ liệu đầu vào adSelectionConfig chứa Decision Logic Uri có thể theo sau
 giản đồ HTTPS hoặc giản đồ Lựa chọn quảng cáo được tạo sẵn.
 
Nếu URI tuân theo giản đồ HTTPS, thì máy chủ lưu trữ phải khớp với seller. Nếu không,
 Hệ thống sẽ gửi IllegalArgumentException.
 
URI dựng sẵn là một cách thay thế logic dựng sẵn chung cho yêu cầu
 JavaScript cho scoreAds. URI dựng sẵn cho điểm cuối này sẽ tuân theo;
 
- ad-selection-prebuilt://ad-selection/<name>?<script-generation-parameters>
Nếu bạn truyền một URI dựng sẵn không được hỗ trợ hoặc tính năng URI dựng sẵn bị tắt
 thì IllegalArgumentException sẽ được gửi.
 
Hãy xem AdSelectionConfig.Builder#setDecisionLogicUri để biết <name> được hỗ trợ và
 bắt buộc phải có <script-generation-parameters>.
 
Đầu ra được truyền bởi trình nhận và sẽ trả về một AdSelectionOutcome
 để chạy thành công hoặc một Exception bao gồm loại ngoại lệ được gửi và
 thông báo lỗi tương ứng.
 
Nếu IllegalArgumentException được gửi, thì đó là do đối số đầu vào không hợp lệ
 API nhận được để chạy lựa chọn quảng cáo.
 
Nếu IllegalStateException nhận được thông báo lỗi "Không thành công của AdSelection
 dịch vụ.", vấn đề này là do lỗi nội bộ của dịch vụ lựa chọn quảng cáo.
 
Nếu TimeoutException được gửi, thì lỗi này sẽ xảy ra khi hết thời gian chờ
 trong quá trình đặt giá thầu, tính điểm hoặc lựa chọn tổng thể để tìm Quảng cáo giành chiến thắng.
 
Nếu LimitExceededException được gửi, thì lỗi này sẽ xảy ra khi gói gọi
 vượt quá giới hạn tốc độ cho phép và được điều tiết.
 
Nếu SecurityException được gửi, thì lỗi này sẽ xảy ra khi phương thức gọi không được uỷ quyền
 hoặc chưa yêu cầu quyền.
 
 
 Cần có AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
| Tham số | |
|---|---|
| adSelectionConfig | AdSelectionConfig: Giá trị này không được lànull. | 
| executor | Executor: Giá trị này không được lànull.
 
 Các sự kiện gọi lại và trình nghe được gửi thông quaExecutor, giúp bạn dễ dàng kiểm soát luồng nào
 đã sử dụng. Để gửi sự kiện thông qua chuỗi chính của
 ứng dụng, bạn có thể sử dụngContext.getMainExecutor().
 Nếu không, hãy cung cấpExecutorđể gửi đến một luồng phù hợp. | 
| receiver | OutcomeReceiver: Giá trị này không được lànull. | 
updateAdCounterHistogram
public void updateAdCounterHistogram (UpdateAdCounterHistogramRequest updateAdCounterHistogramRequest, Executor executor, OutcomeReceiver<Object, Exception> outcomeReceiver)
Cập nhật biểu đồ bộ đếm cho một quảng cáo đã được chọn trước đó bằng lệnh gọi đến selectAds(android.adservices.adselection.AdSelectionConfig, java.util.concurrent.Executor, android.os.OutcomeReceiver).
 
Biểu đồ bộ đếm được dùng trong quá trình lựa chọn quảng cáo để thông báo cho tính năng lọc giới hạn tần suất quảng cáo đề xuất, trong đó quảng cáo có giới hạn tần suất đáp ứng hoặc vượt quá sẽ bị xóa khỏi đặt giá thầu trong quá trình lựa chọn quảng cáo.
Bạn chỉ có thể cập nhật biểu đồ bộ đếm cho các quảng cáo được chỉ định bởi adSelectionId nhất định được trả về bằng một lệnh gọi lựa chọn quảng cáo FLEDGE gần đây từ cùng một ứng dụng gọi.
 
SecurityException được trả về qua outcomeReceiver nếu:
 
- ứng dụng chưa khai báo đúng quyền trong tệp kê khai, hoặc
- ứng dụng hoặc pháp nhân do callerAdTechIdentifierxác định là không được uỷ quyền để sử dụng API.
IllegalStateException được trả về qua outcomeReceiver nếu lệnh gọi có
 không đến từ một ứng dụng
có hoạt động trên nền trước.
 LimitExceededException được trả về qua outcomeReceiver nếu lệnh gọi
 vượt quá hạn chế điều tiết API của ứng dụng gọi.
 
Trong tất cả các trường hợp lỗi khác, outcomeReceiver sẽ trả về một Object trống. Xin lưu ý rằng để bảo vệ quyền riêng tư của người dùng, lỗi nội bộ sẽ không được gửi lại thông qua
 ngoại lệ.
 
 
 Cần có AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
| Tham số | |
|---|---|
| updateAdCounterHistogramRequest | UpdateAdCounterHistogramRequest: Giá trị này không được lànull. | 
| executor | Executor: Giá trị này không được lànull.
 
 Các sự kiện gọi lại và trình nghe được gửi thông quaExecutor, giúp bạn dễ dàng kiểm soát luồng nào
 đã sử dụng. Để gửi sự kiện thông qua chuỗi chính của
 ứng dụng, bạn có thể sử dụngContext.getMainExecutor().
 Nếu không, hãy cung cấpExecutorđể gửi đến một luồng phù hợp. | 
| outcomeReceiver | OutcomeReceiver: Giá trị này không được lànull. | 
