IsolatedWorker
public
interface
IsolatedWorker
| android.adservices.ondevicepersonalization.IsolatedWorker |
Interfaccia con metodi che devono essere implementati per gestire le richieste dal sistema operativo a un IsolatedService. IsolatedService crea un'istanza di IsolatedWorker su
ogni richiesta e chiama uno dei metodi indicati di seguito, a seconda del tipo di richiesta. IsolatedService chiama il metodo su un thread di Binder e IsolatedWorker deve
le operazioni a lunga esecuzione vengono trasferite in un thread di lavoro. Il parametro consumer di ogni metodo viene utilizzato
per restituire risultati.
Riepilogo
Metodi pubblici | |
|---|---|
default
void
|
onDownloadCompleted(DownloadCompletedInput input, Consumer<DownloadCompletedOutput> consumer)
Gestisce un download completato. |
default
void
|
onEvent(EventInput input, Consumer<EventOutput> consumer)
Gestisce un evento attivato da una richiesta a un URL di monitoraggio fornito dalla piattaforma |
default
void
|
onExecute(ExecuteInput input, Consumer<ExecuteOutput> consumer)
Gestisce una richiesta da un'app. |
default
void
|
onRender(RenderInput input, Consumer<RenderOutput> consumer)
Genera il codice HTML per i risultati restituiti come risultato di
|
default
void
|
onTrainingExample(TrainingExampleInput input, Consumer<TrainingExampleOutput> consumer)
Generare un singolo esempio di addestramento utilizzato per il job di calcolo federato. |
Metodi pubblici
onDownloadCompletato
public void onDownloadCompleted (DownloadCompletedInput input, Consumer<DownloadCompletedOutput> consumer)
Gestisce un download completato. La piattaforma scarica i contenuti utilizzando i parametri definiti in
il manifest del pacchetto di IsolatedService, chiama questa funzione dopo il download
è completa e aggiorna la tabella REMOTE_DATA da
IsolatedService#getRemoteData(RequestToken) con il risultato di questo metodo.
| Parametri | |
|---|---|
input |
DownloadCompletedInput: scarica i parametri del gestore.
Questo valore non può essere null. |
consumer |
Consumer: callback che riceve il risultato. Dovrebbe essere chiamata con null attivo
un errore. Se la chiamata avviene con null, non vengono apportati aggiornamenti alla tabella REMOTE_DATA.
Se questo metodo genera un |
onEvent
public void onEvent (EventInput input, Consumer<EventOutput> consumer)
Gestisce un evento attivato da una richiesta a un URL di monitoraggio fornito dalla piattaforma EventUrlProvider che è stato incorporato nell'output HTML restituito da
onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer). La piattaforma aggiorna la tabella EVENTS con
EventOutput#getEventLogRecord().
| Parametri | |
|---|---|
input |
EventInput: i parametri necessari per calcolare i dati sugli eventi.
Questo valore non può essere null. |
consumer |
Consumer: callback che riceve il risultato. Dovrebbe essere chiamata con null attivo
un errore. Se la chiamata avviene con null, non vengono scritti dati nella tabella EVENTS.
Se questo metodo genera un |
onEsecuzione
public void onExecute (ExecuteInput input, Consumer<ExecuteOutput> consumer)
Gestisce una richiesta da un'app. Questo metodo viene chiamato quando un'app chiama OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle,
java.util.concurrent.Executor, OutcomeReceiver) che fa riferimento a un
IsolatedService.
| Parametri | |
|---|---|
input |
ExecuteInput: parametri di richiesta dall'app chiamante.
Questo valore non può essere null. |
consumer |
Consumer: callback che riceve il risultato ExecuteOutput. Da chiamare
con null in caso di errore. L'errore viene propagato all'app chiamante
OnDevicePersonalizationException con codice di errore OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED. Per evitare fughe di dati privati
all'app chiamante, non sono disponibili report più dettagliati sugli errori. Se IsolatedService deve segnalare statistiche di errore al suo backend, deve compilare ExecuteOutput con i dati di errore per il logging e fare affidamento su Federated Analytics per l'aggregazione
nei report sugli errori.
Se questo metodo genera un |
onRender
public void onRender (RenderInput input, Consumer<RenderOutput> consumer)
Genera il codice HTML per i risultati restituiti come risultato di
onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer). Richiamato quando viene effettuata una chiamata da un'app client
OnDevicePersonalizationManager#requestSurfacePackage(SurfacePackageToken, IBinder, int, int, int, java.util.concurrent.Executor, OutcomeReceiver).
La piattaforma eseguirà il rendering di questo codice HTML in un file WebView all'interno di un ambiente recintato
frame.
| Parametri | |
|---|---|
input |
RenderInput: parametri per la richiesta di rendering.
Questo valore non può essere null. |
consumer |
Consumer: callback che riceve il risultato. Dovrebbe essere chiamata con null attivo
un errore. L'errore viene propagato all'app chiamante come OnDevicePersonalizationException con codice di errore OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED.
Se questo metodo genera un |
esempio di addestramento
public void onTrainingExample (TrainingExampleInput input, Consumer<TrainingExampleOutput> consumer)
Generare un singolo esempio di addestramento utilizzato per il job di calcolo federato.
| Parametri | |
|---|---|
input |
TrainingExampleInput: i parametri necessari per generare l'esempio di addestramento.
Questo valore non può essere null. |
consumer |
Consumer: callback da richiamare al completamento.
Questo valore non può essere null. |