IsolatedWorker
public
interface
IsolatedWorker
android.adservices.ondevicepersonalization.IsolatedWorker |
Giao diện có các phương thức cần được triển khai để xử lý các yêu cầu từ hệ điều hành đến IsolatedService
. IsolatedService
tạo một bản sao của IsolatedWorker
trên mỗi yêu cầu và gọi một trong các phương thức bên dưới, tuỳ thuộc vào loại yêu cầu. IsolatedService
gọi phương thức trên luồng Binder và IsolatedWorker
sẽ giảm tải các thao tác chạy trong thời gian dài cho luồng worker. Tham số đối tượng tiêu thụ của mỗi phương thức được dùng để trả về kết quả.
Tóm tắt
Phương thức công khai | |
---|---|
default
void
|
onDownloadCompleted(DownloadCompletedInput input, Consumer<DownloadCompletedOutput> consumer)
Xử lý quá trình tải xuống đã hoàn tất. |
default
void
|
onEvent(EventInput input, Consumer<EventOutput> consumer)
Xử lý một sự kiện được kích hoạt bởi một yêu cầu đến URL theo dõi |
default
void
|
onExecute(ExecuteInput input, Consumer<ExecuteOutput> consumer)
Xử lý yêu cầu của một ứng dụng. |
default
void
|
onRender(RenderInput input, Consumer<RenderOutput> consumer)
Tạo HTML cho các kết quả được trả về do |
default
void
|
onTrainingExample(TrainingExampleInput input, Consumer<TrainingExampleOutput> consumer)
Tạo một ví dụ huấn luyện duy nhất dùng cho công việc tính toán liên kết. |
Phương thức công khai
onDownloadCompleted
public void onDownloadCompleted (DownloadCompletedInput input, Consumer<DownloadCompletedOutput> consumer)
Xử lý một lượt tải xuống đã hoàn tất. Nền tảng tải nội dung xuống bằng các tham số được xác định trong tệp kê khai gói của IsolatedService
, gọi hàm này sau khi quá trình tải xuống hoàn tất và cập nhật bảng REMOTE_DATA từ IsolatedService#getRemoteData(RequestToken)
bằng kết quả của phương thức này.
Tham số | |
---|---|
input |
DownloadCompletedInput : Tham số trình xử lý tải xuống.
Giá trị này không được là null . |
consumer |
Consumer : Lệnh gọi lại nhận kết quả. Nên được gọi bằng null khi xảy ra lỗi. Nếu được gọi bằng null , bảng REMOTE_DATA sẽ không được cập nhật.
Nếu phương thức này gửi một |
onEvent
public void onEvent (EventInput input, Consumer<EventOutput> consumer)
Xử lý một sự kiện được kích hoạt bởi một yêu cầu đến URL theo dõi EventUrlProvider
do nền tảng cung cấp, được nhúng trong kết quả HTML do onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer)
trả về. Nền tảng sẽ cập nhật bảng EVENTS bằng EventOutput#getEventLogRecord()
.
Tham số | |
---|---|
input |
EventInput : Các thông số cần thiết để tính toán dữ liệu sự kiện.
Giá trị này không được là null . |
consumer |
Consumer : Lệnh gọi lại nhận kết quả. Phải được gọi bằng null khi gặp lỗi. Nếu được gọi bằng null , sẽ không có dữ liệu nào được ghi vào bảng EVENTS.
Nếu phương thức này gửi |
thực hiện
public void onExecute (ExecuteInput input, Consumer<ExecuteOutput> consumer)
Xử lý yêu cầu của một ứng dụng. Phương thức này được gọi khi một ứng dụng gọi OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle,
java.util.concurrent.Executor, OutcomeReceiver)
tham chiếu đến một IsolatedService
được đặt tên.
Tham số | |
---|---|
input |
ExecuteInput : Yêu cầu tham số từ ứng dụng gọi.
Giá trị này không được là null . |
consumer |
Consumer : Lệnh gọi lại nhận kết quả ExecuteOutput . Nên được gọi bằng null khi xảy ra lỗi. Lỗi được lan truyền đến ứng dụng gọi dưới dạng OnDevicePersonalizationException kèm theo mã lỗi OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED . Để tránh rò rỉ dữ liệu cá nhân vào ứng dụng gọi, bạn không thể sử dụng tính năng báo cáo lỗi chi tiết hơn. Nếu cần báo cáo số liệu thống kê lỗi cho phần phụ trợ, IsolatedService sẽ điền dữ liệu lỗi vào ExecuteOutput để ghi nhật ký và dựa vào Federated Analytics để tổng hợp các báo cáo lỗi.
Nếu phương thức này gửi một |
onRender
public void onRender (RenderInput input, Consumer<RenderOutput> consumer)
Tạo HTML cho các kết quả được trả về do onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer)
. Được gọi khi ứng dụng khách gọi OnDevicePersonalizationManager#requestSurfacePackage(SurfacePackageToken, IBinder, int, int, int, java.util.concurrent.Executor, OutcomeReceiver)
.
Nền tảng sẽ hiển thị HTML này trong WebView
bên trong một khung có hàng rào.
Tham số | |
---|---|
input |
RenderInput : Các tham số cho yêu cầu kết xuất.
Giá trị này không được là null . |
consumer |
Consumer : Lệnh gọi lại nhận kết quả. Nên được gọi bằng null khi xảy ra lỗi. Lỗi được truyền đến ứng dụng gọi dưới dạng OnDevicePersonalizationException có mã lỗi OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED .
Nếu phương thức này gửi một |
onTrainingExample
public void onTrainingExample (TrainingExampleInput input, Consumer<TrainingExampleOutput> consumer)
Tạo một ví dụ huấn luyện duy nhất dùng cho lệnh tính toán liên kết.
Tham số | |
---|---|
input |
TrainingExampleInput : Các tham số cần thiết để tạo ví dụ huấn luyện.
Giá trị này không được là null . |
consumer |
Consumer : Lệnh gọi lại sẽ được gọi khi hoàn tất.
Giá trị này không được là null . |