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 IsolatedService dans le bac à sable OnDevicePersonalization.

void requestSurfacePackage(SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackageException> receiver)

Demande l'insertion d'un SurfaceControlViewHost.SurfacePackage dans un SurfaceView dans l'application appelante.

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