Gestionnaire de personnalisation de l'appareil
public
class
OnDevicePersonalizationManager
extends Object
| java.lang.Object | |
| ↳ | android.adservices.ondevicepersonalization.OnDevicePersonalizationManager |
OnDevicePersonalizationManager fournit des API permettant aux applications de charger un
IsolatedService dans un processus isolé et interagir avec lui.
Une application peut demander un IsolatedService pour générer du contenu à afficher
dans un SurfaceView au sein de la hiérarchie des vues de l'application, mais aussi écrire
des résultats persistants dans l'espace de stockage sur l'appareil, qui peuvent être utilisés par Federated Analytics pour
l'analyse statistique multi-appareil ou l'apprentissage fédéré pour l'entraînement du modèle. La classe affichée
le contenu et la sortie persistante ne sont pas directement accessibles par l'application appelante.
Résumé
Méthodes publiques | |
|---|---|
void
|
execute(ComponentName handler, PersistableBundle params, Executor executor, OutcomeReceiver<List<SurfacePackageToken>, Exception> receiver)
Exécute un |
void
|
requestSurfacePackage(SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackage, Exception> receiver)
Demande l'insertion d'un |
Méthodes héritées | |
|---|---|
Méthodes publiques
exécuter
public void execute (ComponentName handler, PersistableBundle params, Executor executor, OutcomeReceiver<List<SurfacePackageToken>, Exception> receiver)
Exécute un IsolatedService dans le bac à sable OnDevicePersonalization. La
plate-forme se lie au IsolatedService spécifié dans un processus isolé
et appelle IsolatedWorker#onExecute(ExecuteInput, java.util.function.Consumer)
avec les paramètres fournis par l'appelant. Une fois l'exécution de IsolatedService terminée,
la plateforme renvoie des jetons qui font référence
aux résultats du service à l'appelant.
Ces jetons peuvent ensuite être utilisés pour afficher les résultats dans une
SurfaceView dans l'application appelante.
| Paramètres | |
|---|---|
handler |
ComponentName: ComponentName du IsolatedService.
Cette valeur ne peut pas être null. |
params |
PersistableBundle: un PersistableBundle transmis par l'application appelante à la
IsolatedService Le contenu attendu de ce paramètre est défini
par le IsolatedService. La plate-forme n'interprète pas ce paramètre.
Cette valeur ne peut pas être null. |
executor |
Executor: Executor sur lequel appeler le rappel.
Cette valeur ne peut pas être null.
Les événements de rappel et d'écouteur sont envoyés via ce
Executor, ce qui permet de contrôler facilement le thread qui est
utilisé. Pour envoyer des événements via le thread principal de votre
vous pouvez utiliser
Context.getMainExecutor()
Sinon, fournissez un Executor qui sera envoyé à un thread approprié. |
receiver |
OutcomeReceiver: renvoie une liste d'objets SurfacePackageToken, chacun d'eux étant
une référence opaque à un RenderingConfig renvoyé par une
IsolatedService ou Exception en cas d'échec. La valeur renvoyée
Les objets SurfacePackageToken peuvent être utilisés dans un
requestSurfacePackage(android.adservices.ondevicepersonalization.SurfacePackageToken, android.os.IBinder, int, int, int, java.util.concurrent.Executor, android.os.OutcomeReceiver) pour afficher le résultat dans une vue. L'application appelante et
le IsolatedService doit se mettre d'accord sur la taille attendue de cette liste.
Une entrée dans la liste renvoyée d'objets SurfacePackageToken peut avoir une valeur nulle pour
indique que le service n'a aucun résultat pour cette surface spécifique.
En cas d'erreur, le récepteur renvoie l'une des exceptions suivantes:
Renvoie un PackageManager.NameNotFoundException si le gestionnaire
le package n’est pas installé ou ne possède pas de fichier manifeste ODP valide.
Renvoie ClassNotFoundException si la classe du gestionnaire est introuvable.
Renvoie un OnDevicePersonalizationException si l'exécution du gestionnaire échoue. |
Package requestSurface
public void requestSurfacePackage (SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackage, Exception> receiver)
Demande l'insertion d'un SurfaceControlViewHost.SurfacePackage dans un
SurfaceView dans l'application appelante. Le package surface contiendra un
View par le contenu provenant du résultat d'un appel précédent à
#execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver) en cours d'exécution dans
le bac à sable OnDevicePersonalization.
| Paramètres | |
|---|---|
surfacePackageToken |
SurfacePackageToken: référence à un SurfacePackageToken renvoyé par un
à #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver).
Cette valeur ne peut pas être null. |
surfaceViewHostToken |
IBinder: hostToken de SurfaceView, qui est
renvoyé par SurfaceView.getHostToken() après l'événement
SurfaceView a été ajouté à la hiérarchie des vues.
Cette valeur ne peut pas être null. |
displayId |
int: ID entier de l'affichage logique sur lequel afficher la
SurfaceControlViewHost.SurfacePackage, renvoyé par
Context.getDisplay().getDisplayId() |
width |
int: largeur de SurfaceControlViewHost.SurfacePackage
en pixels. |
height |
int: hauteur de SurfaceControlViewHost.SurfacePackage
en pixels. |
executor |
Executor: Executor sur lequel appeler le rappel.
Cette valeur ne peut pas être null.
Les événements de rappel et d'écouteur sont envoyés via
Executor, ce qui permet de contrôler facilement le thread qui est
utilisé. Pour envoyer des événements via le thread principal de votre
vous pouvez utiliser
Context.getMainExecutor()
Sinon, fournissez un Executor qui sera envoyé à un thread approprié. |
receiver |
OutcomeReceiver: cette méthode renvoie une
SurfaceControlViewHost.SurfacePackage en cas de réussite, ou
Exception en cas d'échec. Le type d'exception est
OnDevicePersonalizationException si l'exécution du gestionnaire échoue.
Cette valeur ne peut pas être null. |