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 thực thể của IsolatedWorker trên
mỗi yêu cầu rồi 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 phải
giảm tải các thao tác chạy trong thời gian dài sang một luồng worker. Tham số người tiêu dùng của mỗi phương thức sẽ được sử 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ý 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 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 lệnh tính toán liên kết. |
Phương thức công khai
onDownload đã hoàn tất
public void onDownloadCompleted (DownloadCompletedInput input, Consumer<DownloadCompletedOutput> consumer)
Xử lý quá trình tải xuống đã hoàn tất. Nền tảng này sẽ tải nội dung xuống bằng cách sử dụ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 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: Tải các tham số trình xử lý xuống.
Giá trị này không được là null. |
consumer |
Consumer: Lệnh gọi lại nhận kết quả. Sẽ được gọi bằng null trên
lỗi. Nếu được gọi bằng null, sẽ không có nội dung cập nhật nào đối với bảng REMOTE_DATA.
Nếu phương thức này gửi ra |
onEvent
public void onEvent (EventInput input, Consumer<EventOutput> consumer)
Xử lý 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 đầu ra HTML được trả về bởi
onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer) Nền tảng này sẽ cập nhật bảng EVENTS (Sự kiện) 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ả. Sẽ được gọi bằng null trên
lỗi. Nếu được gọi bằng null, không có dữ liệu nào được ghi vào bảng EVENTS (Sự kiện).
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 phương thức có tên
IsolatedService
| 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. Phải được gọi
với null khi gặp một lỗi. Lỗi được lan truyền đến ứng dụng gọi dưới dạng
OnDevicePersonalizationException có mã lỗi OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED. Để tránh rò rỉ thông tin riêng tư
dữ liệu cho ứng dụng gọi, nên sẽ không có báo cáo lỗi chi tiết hơn. Nếu IsolatedService cần báo cáo số liệu thống kê lỗi cho phần phụ trợ, thì ExecuteOutput phải điền dữ liệu lỗi để ghi nhật ký, và dựa vào Phân tích liên kết để tổng hợp
báo cáo lỗi.
Nếu phương thức này gửi ra |
onRender
public void onRender (RenderInput input, Consumer<RenderOutput> consumer)
Tạo HTML cho kết quả được trả về do
onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer). Được gọi khi một ứ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 một WebView bên trong một hàng rào
khung.
| 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ả. Sẽ được gọi bằng null trên
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.
Nếu phương thức này gửi ra |
Ví dụ về việc huấn luyện
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. |