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