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

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 onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer).

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 RuntimeException, thì hệ thống sẽ không cập nhật bảng REMOTE_DATA.

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 RuntimeException, thì dữ liệu sẽ không được ghi vào bảng EVENTS (Sự kiện).

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 RuntimeException, thì RuntimeException đó cũng được báo cáo cho các ứng dụng gọi dưới dạng OnDevicePersonalizationException có mã lỗi OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED.

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 RuntimeException, thì RuntimeException đó cũng được báo cáo cho các ứng dụng gọi dưới dạng OnDevicePersonalizationException có mã lỗi OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED.

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.