Trabajador aislado

public interface IsolatedWorker

android.adservices.ondevicepersonalization.IsolatedWorker


Interfaz con métodos que deben implementarse para controlar solicitudes del SO a un objeto IsolatedService. IsolatedService crea una instancia de IsolatedWorker en cada solicitud y llama a uno de los métodos que se indican a continuación, según el tipo de solicitud. El IsolatedService llama al método en un subproceso de Binder, y IsolatedWorker debe descargar las operaciones de larga duración a un subproceso de trabajo. Se usa el parámetro del consumidor de cada método. para devolver resultados.

Resumen

Métodos públicos

default void onDownloadCompleted(DownloadCompletedInput input, Consumer<DownloadCompletedOutput> consumer)

Controla una descarga completada.

default void onEvent(EventInput input, Consumer<EventOutput> consumer)

Controla un evento activado por una solicitud a una URL de seguimiento proporcionada por la plataforma EventUrlProvider que se incorporó en el resultado HTML que muestra onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer)

default void onExecute(ExecuteInput input, Consumer<ExecuteOutput> consumer)

Controla una solicitud de una aplicación.

default void onRender(RenderInput input, Consumer<RenderOutput> consumer)

Genera HTML para los resultados devueltos como resultado de onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer)

default void onTrainingExample(TrainingExampleInput input, Consumer<TrainingExampleOutput> consumer)

Genera un ejemplo de entrenamiento único que se usa para un trabajo de procesamiento federado.

Métodos públicos

onDownloadCompleted

public void onDownloadCompleted (DownloadCompletedInput input, 
                Consumer<DownloadCompletedOutput> consumer)

Controla una descarga completada. La plataforma descarga contenido usando los parámetros definidos en El manifiesto del paquete de IsolatedService llama a esta función después de la descarga. esté completa y actualiza la tabla REMOTE_DATA de IsolatedService#getRemoteData(RequestToken) por el resultado de este método

Parámetros
input DownloadCompletedInput: Descarga los parámetros del controlador. Este valor no puede ser null.

consumer Consumer: Es la devolución de llamada que recibe el resultado. Se debe llamar con null activado. un error. Si se llama con null, no se realizan actualizaciones en la tabla REMOTE_DATA.

Si este método arroja una RuntimeException, no se realizará ninguna actualización en el REMOTE_DATA.

onEvent

public void onEvent (EventInput input, 
                Consumer<EventOutput> consumer)

Controla un evento activado por una solicitud a una URL de seguimiento proporcionada por la plataforma EventUrlProvider que se incorporó en el resultado HTML que muestra onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer) La plataforma actualiza la tabla EVENTS con EventOutput#getEventLogRecord()

Parámetros
input EventInput: Son los parámetros necesarios para calcular los datos de eventos. Este valor no puede ser null.

consumer Consumer: Es la devolución de llamada que recibe el resultado. Se debe llamar con null activado. un error. Si se llama con null, no se escriben datos en la tabla EVENTS.

Si este método arroja un RuntimeException, no se escriben datos en EVENTS. desde una tabla de particiones.

onEjecutar

public void onExecute (ExecuteInput input, 
                Consumer<ExecuteOutput> consumer)

Controla una solicitud de una aplicación. Se llama a este método cuando una app llama a OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver) que hace referencia a un elemento IsolatedService

Parámetros
input ExecuteInput: Solicita parámetros de la app que realiza la llamada. Este valor no puede ser null.

consumer Consumer: Es la devolución de llamada que recibe el resultado ExecuteOutput. Debería llamarse con null en un error. El error se propaga a la app que realiza la llamada como un OnDevicePersonalizationException con el código de error OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED. Para evitar la filtración de datos privados datos a la app que realiza la llamada, no habrá un informe de errores más detallado disponible. Si IsolatedService necesita informar estadísticas de errores a su backend, debe propagar ExecuteOutput con datos de errores para el registro y depender del análisis federado para la agregación. los informes de errores.

Si este método arroja un RuntimeException, eso también se informa a Llama a apps como una OnDevicePersonalizationException con el código de error OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED.

onRender

public void onRender (RenderInput input, 
                Consumer<RenderOutput> consumer)

Genera HTML para los resultados devueltos como resultado de onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer) Se llama cuando llama una app cliente OnDevicePersonalizationManager#requestSurfacePackage(SurfacePackageToken, IBinder, int, int, int, java.util.concurrent.Executor, OutcomeReceiver) La plataforma renderizará este HTML en un WebView dentro de una valla marco.

Parámetros
input RenderInput: Son los parámetros para la solicitud de renderización. Este valor no puede ser null.

consumer Consumer: Es la devolución de llamada que recibe el resultado. Se debe llamar con null activado. un error. El error se propaga a la app que realiza la llamada como una OnDevicePersonalizationException con el código de error OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED.

Si este método arroja una RuntimeException, esto también se informa a las llamadas. apps como una OnDevicePersonalizationException con el código de error OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED.

Ejemplo de entrenamiento

public void onTrainingExample (TrainingExampleInput input, 
                Consumer<TrainingExampleOutput> consumer)

Genera un ejemplo de entrenamiento único que se usa para un trabajo de procesamiento federado.

Parámetros
input TrainingExampleInput: Son los parámetros necesarios para generar el ejemplo de entrenamiento. Este valor no puede ser null.

consumer Consumer: Es la devolución de llamada que se invocará cuando finalice. Este valor no puede ser null.