IsolatedWorker
public
interface
IsolatedWorker
android.adservices.ondevicepersonalization.IsolatedWorker |
Interfaccia con i 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 riportati di seguito, a seconda del tipo di richiesta. IsolatedService
chiama il metodo su un thread di Binder e IsolatedWorker
dovrebbe
trasferire le operazioni a lunga esecuzione su un thread worker. Il parametro consumer di ogni metodo viene utilizzato per restituire i 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 |
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
onDownloadCompleted
public void onDownloadCompleted (DownloadCompletedInput input, Consumer<DownloadCompletedOutput> consumer)
Gestisce un download completato. La piattaforma scarica i contenuti utilizzando i parametri definiti nel manifest del pacchetto del IsolatedService
, chiama questa funzione al termine del download e aggiorna la tabella REMOTE_DATA da IsolatedService#getRemoteData(RequestToken)
con il risultato di questo metodo.
Parametri | |
---|---|
input |
DownloadCompletedInput : parametri del gestore del download.
Questo valore non può essere null . |
consumer |
Consumer : chiamata di ritorno che riceve il risultato. Deve essere chiamato con null in caso di
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 EventUrlProvider
fornito dalla piattaforma 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 : chiamata di ritorno che riceve il risultato. Deve essere chiamato con null in caso di
errore. Se viene chiamato con null , nessun dato viene scritto nella tabella EVENTS.
Se questo metodo genera un |
onExecute
public void onExecute (ExecuteInput input, Consumer<ExecuteOutput> consumer)
Gestisci 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
denominato.
Parametri | |
---|---|
input |
ExecuteInput : parametri di richiesta dall'app chiamante.
Questo valore non può essere null . |
consumer |
Consumer : chiamata di ritorno che riceve il risultato ExecuteOutput . Deve essere chiamato
con null in caso di errore. L'errore viene propagato all'app chiamante come
OnDevicePersonalizationException con codice di errore OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED . Per evitare la fuga di dati privati
all'app chiamante, non sono disponibili segnalazioni di errori più dettagliate. Se IsolatedService deve segnalare le statistiche sugli errori al proprio backend, deve compilare ExecuteOutput con i dati sugli errori per la registrazione e fare affidamento su Federated Analytics per aggregare
i report sugli errori.
Se questo metodo genera un |
onRender
public void onRender (RenderInput input, Consumer<RenderOutput> consumer)
Genera HTML per i risultati restituiti come risultato di onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer)
. Viene chiamato quando un'app client chiama
OnDevicePersonalizationManager#requestSurfacePackage(SurfacePackageToken, IBinder, int, int, int, java.util.concurrent.Executor, OutcomeReceiver)
.
La piattaforma eseguirà il rendering di questo codice HTML in un WebView
all'interno di un frame delimitato.
Parametri | |
---|---|
input |
RenderInput : parametri per la richiesta di rendering.
Questo valore non può essere null . |
consumer |
Consumer : chiamata di ritorno che riceve il risultato. Deve essere chiamata con null in caso di errore. L'errore viene propagato all'app chiamante come OnDevicePersonalizationException con codice di errore OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED .
Se questo metodo genera un |
onTrainingExample
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 . |