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