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