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 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)

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 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 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 RuntimeException, thì sẽ không có nội dung cập nhật nào đối với Bảng REMOTE_DATA.

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

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

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

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.