OnDevicePersonalizationManager
public
class
OnDevicePersonalizationManager
extends Object
java.lang.Object | |
🎞 | android.adservices.ondevicepersonalization.OnDevicePersonalizationManager |
OnDevicePersonalizationManager fornisce API per consentire alle app di caricare
IsolatedService
in un processo isolato e interagirvi.
Un'app può richiedere un IsolatedService
per generare contenuti da visualizzare
in un SurfaceView
all'interno della gerarchia di visualizzazione dell'app e anche scrivere
risultati permanenti nello spazio di archiviazione sul dispositivo che può essere utilizzato da Federated Analytics per
l'analisi statistica cross-device o l'apprendimento federato per l'addestramento del modello. Il valore visualizzato
e l'output permanente non sono entrambi accessibili direttamente dall'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)
Richiede 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 di OnDevicePersonalization. La
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 token che fanno riferimento ai risultati del servizio al chiamante.
Questi token possono essere utilizzati successivamente per visualizzare i risultati
SurfaceView
nell'app per le chiamate.
Parametri | |
---|---|
handler |
ComponentName : il ComponentName di IsolatedService .
Questo valore non può essere null . |
params |
PersistableBundle : un PersistableBundle che viene passato dall'app per le chiamate all'app
IsolatedService . I contenuti previsti di questo parametro sono definiti
dal IsolatedService . La piattaforma non interpreta questo parametro.
Questo valore non può essere null . |
executor |
Executor : il Executor su cui richiamare il callback.
Questo valore non può essere null .
Gli eventi di callback e listener vengono inviati tramite questo
Executor , che consente di controllare facilmente quale thread
in uso. Per inviare eventi tramite il thread principale del tuo
puoi utilizzare
Context.getMainExecutor() .
In caso contrario, specifica un valore Executor che effettui l'invio a un thread appropriato. |
receiver |
OutcomeReceiver : restituisce un elenco di SurfacePackageToken oggetti, ognuno dei quali è
un riferimento opaco a RenderingConfig restituito da un
IsolatedService o Exception in caso di errore. L'oggetto restituito
SurfacePackageToken oggetti possono essere utilizzati in una
Chiamata requestSurfacePackage(android.adservices.ondevicepersonalization.SurfacePackageToken, android.os.IBinder, int, int, int, java.util.concurrent.Executor, android.os.OutcomeReceiver) per visualizzare il risultato in una visualizzazione. L'app per le chiamate e
IsolatedService deve concordare le dimensioni previste di questo elenco.
Una voce nell'elenco di oggetti SurfacePackageToken restituito potrebbe essere nullo per
indicano che il servizio non ha output per quella specifica piattaforma.
In caso di errore, il destinatario restituisce una delle seguenti eccezioni:
Restituisce un PackageManager.NameNotFoundException se il gestore
pacchetto non installato o non presenta un file manifest ODP valido.
Restituisce ClassNotFoundException se la classe gestore non viene trovata.
Restituisce un valore OnDevicePersonalizationException in caso di errore dell'esecuzione del gestore. |
requestSurfacePackage
public void requestSurfacePackage (SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackage, Exception> receiver)
Richiede l'inserimento di un SurfaceControlViewHost.SurfacePackage
in un
SurfaceView
nell'app per le chiamate. Il pacchetto Surface contiene
View
con i contenuti di una precedente chiamata a
#execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver)
in esecuzione
la 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 è
restituito da SurfaceView.getHostToken() dopo
SurfaceView è stato aggiunto alla gerarchia delle visualizzazioni.
Questo valore non può essere null . |
displayId |
int : l'ID intero della visualizzazione logica su cui visualizzare il
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 Executor su cui richiamare il callback
Questo valore non può essere null .
Gli eventi di callback e listener vengono inviati tramite questo
Executor , che consente di controllare facilmente quale thread
in uso. Per inviare eventi tramite il thread principale del tuo
puoi utilizzare
Context.getMainExecutor() .
In caso contrario, specifica un valore Executor che effettui l'invio a un thread appropriato. |
receiver |
OutcomeReceiver : restituisce un
SurfaceControlViewHost.SurfacePackage in caso di esito positivo oppure
Exception in caso di errore. Il tipo di eccezione è
OnDevicePersonalizationException se l'esecuzione del gestore non riesce.
Questo valore non può essere null . |