ИзолированныйРаботник
public interface IsolatedWorker
android.adservices.ondevicepersonalization.IsolatedWorker |
Интерфейс с методами, которые необходимо реализовать для обработки запросов ОС к IsolatedService
. IsolatedService
создает экземпляр IsolatedWorker
для каждого запроса и вызывает один из приведенных ниже методов, в зависимости от типа запроса. IsolatedService
вызывает этот метод в потоке Binder, а IsolatedWorker
должен переложить длительные операции в рабочий поток. Параметр Consumer каждого метода используется для возврата результатов.
Краткое содержание
Публичные методы | |
---|---|
default void | onDownloadCompleted ( DownloadCompletedInput input, Consumer < DownloadCompletedOutput > consumer) Обрабатывает завершенную загрузку. |
default void | onEvent ( EventInput input, Consumer < EventOutput > consumer) Обрабатывает событие, инициируемое запросом к предоставленному платформой URL-адресу отслеживания |
default void | onExecute ( ExecuteInput input, Consumer < ExecuteOutput > consumer) Обрабатывает запрос от приложения. |
default void | onRender ( RenderInput input, Consumer < RenderOutput > consumer) Создает HTML для результатов, возвращенных в результате |
default void | onTrainingExample ( TrainingExampleInput input, Consumer < TrainingExampleOutput > consumer) Создайте один обучающий пример, используемый для задания объединенных вычислений. |
Публичные методы
onDownloadCompleted
public void onDownloadCompleted (DownloadCompletedInput input, Consumer<DownloadCompletedOutput> consumer)
Обрабатывает завершенную загрузку. Платформа загружает контент, используя параметры, определенные в манифесте пакета IsolatedService
, вызывает эту функцию после завершения загрузки и обновляет таблицу REMOTE_DATA из IsolatedService#getRemoteData(RequestToken)
с помощью результата этого метода.
Параметры | |
---|---|
input | DownloadCompletedInput : параметры обработчика загрузки. Это значение не может быть null . |
consumer | Consumer : обратный вызов, который получает результат. Должен вызываться с null в случае ошибки. Если вызывается с null , в таблицу REMOTE_DATA не вносятся никакие обновления. Если этот метод выдает |
onEvent
public void onEvent (EventInput input, Consumer<EventOutput> consumer)
Обрабатывает событие, инициируемое запросом к предоставленному платформой URL-адресу отслеживания EventUrlProvider
, который был встроен в выходные данные HTML, возвращаемые onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer)
. Платформа обновляет таблицу EVENTS с помощью EventOutput#getEventLogRecord()
.
Параметры | |
---|---|
input | EventInput : параметры, необходимые для вычисления данных события. Это значение не может быть null . |
consumer | Consumer : обратный вызов, который получает результат. Должен вызываться с null в случае ошибки. При вызове с null данные в таблицу EVENTS не записываются. Если этот метод выдает исключение |
onExecute
public void onExecute (ExecuteInput input, Consumer<ExecuteOutput> consumer)
Обрабатывает запрос от приложения. Этот метод вызывается, когда приложение вызывает OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver)
который ссылается на именованный IsolatedService
.
Параметры | |
---|---|
input | ExecuteInput : параметры запроса из вызывающего приложения. Это значение не может быть null . |
consumer | Consumer : обратный вызов, который получает результат ExecuteOutput . Должен вызываться с null в случае ошибки. Ошибка передается вызывающему приложению как OnDevicePersonalizationException с кодом ошибки OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED . Чтобы избежать утечки личных данных в вызывающее приложение, более подробные отчеты об ошибках недоступны. Если IsolatedService необходимо сообщить статистику ошибок на свою серверную часть, она должна заполнить ExecuteOutput данными об ошибках для регистрации и полагаться на Federated Analytics для агрегирования отчетов об ошибках. Если этот метод выдает |
onRender
public void onRender (RenderInput input, Consumer<RenderOutput> consumer)
Создает HTML для результатов, возвращенных в результате onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer)
. Вызывается, когда клиентское приложение вызывает OnDevicePersonalizationManager#requestSurfacePackage(SurfacePackageToken, IBinder, int, int, int, java.util.concurrent.Executor, OutcomeReceiver)
. Платформа отобразит этот HTML-код в WebView
внутри огороженного фрейма.
Параметры | |
---|---|
input | RenderInput : Параметры для запроса рендеринга. Это значение не может быть null . |
consumer | Consumer : обратный вызов, который получает результат. Должен вызываться с null в случае ошибки. Ошибка передается вызывающему приложению как OnDevicePersonalizationException с кодом ошибки OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED . Если этот метод генерирует исключение |
onTrainingПример
public void onTrainingExample (TrainingExampleInput input, Consumer<TrainingExampleOutput> consumer)
Создайте один обучающий пример, используемый для задания объединенных вычислений.
Параметры | |
---|---|
input | TrainingExampleInput : параметры, необходимые для создания обучающего примера. Это значение не может быть null . |
consumer | Consumer : обратный вызов, который будет вызван по завершении. Это значение не может быть null . |