OnDevicePersonalizationManager

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 d'interagir avec lui. Une application peut demander à un IsolatedService de générer du contenu à afficher dans un SurfaceView dans la hiérarchie des vues de l'application, et également écrire des résultats persistants dans l'espace de stockage de l'appareil, qui peuvent être utilisés par Federated Analytics pour l'analyse statistique inter-appareil ou par l'apprentissage fédéré pour l'entraînement de modèle. Le contenu affiché 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

execute

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 à l'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 plate-forme 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 un SurfaceView dans l'application appelante.

Paramètres
handler ComponentName: ComponentName du IsolatedService. Cette valeur ne peut pas être null.

params PersistableBundle: PersistableBundle transmis de l'application appelante à IsolatedService. Le contenu attendu de ce paramètre est défini par 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 distribués via ce Executor, ce qui permet de contrôler facilement le thread utilisé. Pour distribuer des événements via le thread principal de votre application, vous pouvez utiliser Context.getMainExecutor(). Sinon, fournissez un Executor qui sera envoyé à un thread approprié.

receiver OutcomeReceiver: cette méthode renvoie une liste d'objets SurfacePackageToken, chacun étant une référence opaque à un RenderingConfig renvoyé par un IsolatedService ou un Exception en cas d'échec. Les objets SurfacePackageToken renvoyés peuvent être utilisés dans un appel requestSurfacePackage(android.adservices.ondevicepersonalization.SurfacePackageToken, android.os.IBinder, int, int, int, java.util.concurrent.Executor, android.os.OutcomeReceiver) ultérieur pour afficher le résultat dans une vue. L'application appelante et le IsolatedService doivent s'accorder sur la taille attendue de cette liste. Une entrée dans la liste d'objets SurfacePackageToken renvoyée peut être nulle pour indiquer que le service n'a pas de sortie pour cette surface spécifique. En cas d'erreur, le récepteur renvoie l'une des exceptions suivantes : renvoie PackageManager.NameNotFoundException si le package du gestionnaire n'est pas installé ou ne possède pas de fichier manifeste ODP valide. Renvoie ClassNotFoundException si la classe de gestionnaire est introuvable. Renvoie un OnDevicePersonalizationException si l'exécution du gestionnaire échoue.

requestSurfacePackage

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

Demande qu'un SurfaceControlViewHost.SurfacePackage soit inséré dans un SurfaceView dans l'application appelante. Le package de surface contiendra un View avec le contenu d'un résultat d'un appel précédent à #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver) exécuté dans le bac à sable OnDevicePersonalization.

Paramètres
surfacePackageToken SurfacePackageToken: référence à un SurfacePackageToken renvoyé par un appel précédent à #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver). Cette valeur ne peut pas être null.

surfaceViewHostToken IBinder: le hostToken de SurfaceView, qui est renvoyé par SurfaceView.getHostToken() après l'ajout de SurfaceView à la hiérarchie des vues. Cette valeur ne peut pas être null.

displayId int: ID entier de l'écran logique sur lequel afficher le SurfaceControlViewHost.SurfacePackage, renvoyé par Context.getDisplay().getDisplayId().

width int: largeur de l'SurfaceControlViewHost.SurfacePackage en pixels.

height int: hauteur de l'élément 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 distribués via ce Executor, ce qui permet de contrôler facilement le thread utilisé. Pour distribuer des événements via le thread principal de votre application, vous pouvez utiliser Context.getMainExecutor(). Sinon, fournissez un Executor qui distribue les tâches à un thread approprié.

receiver OutcomeReceiver: renvoie un SurfaceControlViewHost.SurfacePackage en cas de réussite ou un 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.