GestorePersonalizzazione dispositivo
public
class
OnDevicePersonalizationManager
extends Object
java.lang.Object | |
↳ | android.adservices.ondevicepersonalization.OnDevicePersonalizationManager |
OnDevicePersonalizationManager fornisce API per consentire alle app di caricare un
IsolatedService
in un processo isolato e di interagirvi.
Un'app può richiedere a un IsolatedService
di generare contenuti da visualizzare
all'interno di un elemento SurfaceView
all'interno della gerarchia delle visualizzazioni dell'app, nonché scrivere
risultati permanenti nello spazio di archiviazione on-device, che può essere utilizzato da Federated Analytics per
l'analisi statistica cross-device o da Federated Learning per l'addestramento dei modelli. I contenuti visualizzati e l'output permanente non sono entrambi direttamente accessibili all'app chiamante.
Riepilogo
Metodi pubblici | |
---|---|
void
|
execute(ComponentName handler, PersistableBundle params, Executor executor, OutcomeReceiver<List<SurfacePackageToken>, Exception> receiver)
Esegue un |
void
|
requestSurfacePackage(SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackage, Exception> receiver)
Richiedi l'inserimento di un |
Metodi ereditati | |
---|---|
Metodi pubblici
eseguire
public void execute (ComponentName handler, PersistableBundle params, Executor executor, OutcomeReceiver<List<SurfacePackageToken>, Exception> receiver)
Esegue un IsolatedService
nella sandbox OnDevicePersonalization. La
piattaforma si associa all'oggetto IsolatedService
specificato in un processo isolato
e chiama IsolatedWorker#onExecute(ExecuteInput, java.util.function.Consumer)
con i parametri forniti dal chiamante. Al termine dell'esecuzione di IsolatedService
, la piattaforma restituisce al chiamante i token che fanno riferimento ai risultati del servizio.
Questi token possono essere successivamente utilizzati per visualizzare i risultati in un
SurfaceView
all'interno dell'app per la chiamata.
Parametri | |
---|---|
handler |
ComponentName : la ComponentName del IsolatedService .
Questo valore non può essere null . |
params |
PersistableBundle : un PersistableBundle che viene trasmesso dall'app per chiamate a
IsolatedService . I contenuti previsti di questo parametro sono definiti da IsolatedService . La piattaforma non interpreta questo parametro.
Questo valore non può essere null . |
executor |
Executor : l'elemento Executor sul quale richiamare il callback.
Questo valore non può essere null .
Gli eventi di callback e di listener vengono inviati tramite questo
Executor , offrendo un modo semplice per controllare quale thread viene
utilizzato. Per inviare eventi tramite il thread principale della tua
applicazione, puoi utilizzare
Context.getMainExecutor() .
In caso contrario, specifica un Executor che verrà inviato al thread appropriato. |
receiver |
OutcomeReceiver : restituisce un elenco di oggetti SurfacePackageToken , ognuno dei quali è un riferimento opaco a RenderingConfig restituito da IsolatedService o Exception in caso di errore. Gli oggetti SurfacePackageToken restituiti possono essere utilizzati in una chiamata requestSurfacePackage(android.adservices.ondevicepersonalization.SurfacePackageToken, android.os.IBinder, int, int, int, java.util.concurrent.Executor, android.os.OutcomeReceiver) successiva per visualizzare il risultato in una visualizzazione. L'app per le chiamate e
IsolatedService devono concordare le dimensioni previste di questo elenco.
Una voce nell'elenco restituito di SurfacePackageToken oggetti può essere nulla per indicare che il servizio non ha output per quella piattaforma specifica.
In caso di errore, il destinatario restituisce una delle seguenti eccezioni:
restituisce PackageManager.NameNotFoundException se il pacchetto del gestore non è installato o non ha un manifest ODP valido.
Restituisce ClassNotFoundException se la classe del gestore non è stata trovata.
Restituisce un OnDevicePersonalizationException se l'esecuzione del gestore non va a buon fine. |
requestSurfacePackage
public void requestSurfacePackage (SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackage, Exception> receiver)
Consente di inserire un SurfaceControlViewHost.SurfacePackage
in un elemento
SurfaceView
all'interno dell'app per le chiamate. Il pacchetto Surface conterrà un elemento
View
con i contenuti del risultato di una precedente chiamata a
#execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver)
in esecuzione nella
sandbox OnDevicePersonalization.
Parametri | |
---|---|
surfacePackageToken |
SurfacePackageToken : un riferimento a un SurfacePackageToken restituito da una precedente chiamata a #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver) .
Questo valore non può essere null . |
surfaceViewHostToken |
IBinder : l'hostToken di SurfaceView , che viene
restituito da SurfaceView.getHostToken() dopo che
SurfaceView è stato aggiunto alla gerarchia delle visualizzazioni.
Questo valore non può essere null . |
displayId |
int : l'ID intero della visualizzazione logica su cui visualizzare
SurfaceControlViewHost.SurfacePackage , restituito da
Context.getDisplay().getDisplayId() . |
width |
int : la larghezza di SurfaceControlViewHost.SurfacePackage
in pixel. |
height |
int : l'altezza di SurfaceControlViewHost.SurfacePackage
in pixel. |
executor |
Executor : il valore Executor sul quale richiamare il callback
Questo valore non può essere null .
Gli eventi di callback e di listener vengono inviati tramite questo
Executor , offrendo un modo semplice per controllare quale thread viene
utilizzato. Per inviare eventi tramite il thread principale della tua
applicazione, puoi utilizzare
Context.getMainExecutor() .
In caso contrario, specifica un Executor che verrà inviato al thread appropriato. |
receiver |
OutcomeReceiver : restituisce SurfaceControlViewHost.SurfacePackage in caso di esito positivo o Exception in caso di errore. Il tipo di eccezione è OnDevicePersonalizationException se l'esecuzione del gestore non va a buon fine.
Questo valore non può essere null . |