IsolatedWorker
public
interface
IsolatedWorker
android.adservices.ondevicepersonalization.IsolatedWorker |
Interfaz con métodos que deben implementarse para controlar solicitudes del SO a un IsolatedService
. IsolatedService
crea una instancia de IsolatedWorker
en cada solicitud y llama a uno de los siguientes métodos, según el tipo de solicitud. IsolatedService
llama al método en un subproceso de Binder, y IsolatedWorker
debe transferir las operaciones de larga duración a un subproceso de trabajo. El parámetro del consumidor de cada método se usa para mostrar 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 |
default
void
|
onExecute(ExecuteInput input, Consumer<ExecuteOutput> consumer)
Controla una solicitud de una app. |
default
void
|
onRender(RenderInput input, Consumer<RenderOutput> consumer)
Genera HTML para los resultados que se mostraron como resultado de |
default
void
|
onTrainingExample(TrainingExampleInput input, Consumer<TrainingExampleOutput> consumer)
Genera un solo ejemplo de entrenamiento que se usa para el 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 mediante los parámetros definidos en el manifiesto del paquete de IsolatedService
, llama a esta función una vez que se completa la descarga y actualiza la tabla REMOTE_DATA desde IsolatedService#getRemoteData(RequestToken)
con el resultado de este método.
Parámetros | |
---|---|
input |
DownloadCompletedInput : Descarga los parámetros del controlador.
Este valor no puede ser null . |
consumer |
Consumer : Devolución de llamada que recibe el resultado. Se debe llamar con null en un error. Si se lo llama con null , no se realizan actualizaciones en la tabla REMOTE_DATA.
Si este método arroja un |
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 devuelve 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 del evento.
Este valor no puede ser null . |
consumer |
Consumer : Devolución de llamada que recibe el resultado. Se debe llamar con null en un error. Si se lo llama con null , no se escriben datos en la tabla EVENTS.
Si este método arroja un |
OnEjecutar
public void onExecute (ExecuteInput input, Consumer<ExecuteOutput> consumer)
Controla una solicitud de una app. 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 IsolatedService
denominado.
Parámetros | |
---|---|
input |
ExecuteInput : Son los parámetros de solicitud de la app que realiza la llamada. Este valor no puede ser null . |
consumer |
Consumer : Devolución de llamada que recibe el resultado ExecuteOutput . Se debe llamar con null en 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 . Para evitar la filtración de datos privados a la app que realiza la llamada, no están disponibles los informes de errores más detallados. 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 agregar los informes de errores.
Si este método arroja un |
onRender
public void onRender (RenderInput input, Consumer<RenderOutput> consumer)
Genera HTML para los resultados que se mostraron como resultado de onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer)
. Se llama cuando una app cliente llama a OnDevicePersonalizationManager#requestSurfacePackage(SurfacePackageToken, IBinder, int, int, int, java.util.concurrent.Executor, OutcomeReceiver)
.
La plataforma renderizará este HTML en un WebView
dentro de un marco con protección.
Parámetros | |
---|---|
input |
RenderInput : Son los parámetros para la solicitud de renderización.
Este valor no puede ser null . |
consumer |
Consumer : Devolución de llamada que recibe el resultado. Se debe llamar con null en 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 |
onTrainingExample
public void onTrainingExample (TrainingExampleInput input, Consumer<TrainingExampleOutput> consumer)
Genera un solo ejemplo de entrenamiento que se usa para el 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 se complete la tarea.
Este valor no puede ser null . |