OnDevicePersonalizationManager
public
class
OnDevicePersonalizationManager
extends Object
java.lang.Object | |
↳ | android.adservices.ondevicepersonalization.OnDevicePersonalizationManager |
OnDevicePersonalizationManager proporciona APIs para que las apps carguen un IsolatedService
en un proceso aislado y interactúen con este.
Una app puede solicitar un IsolatedService
para generar contenido para mostrar dentro de un SurfaceView
dentro de la jerarquía de vistas de la app y también escribir resultados persistentes en el almacenamiento integrado en el dispositivo que puede consumir el análisis federado para el análisis estadístico multidispositivo o el aprendizaje federado para el entrenamiento de modelos. La app que realiza la llamada no puede acceder directamente al contenido que se muestra ni al resultado persistente.
Resumen
Métodos públicos | |
---|---|
void
|
execute(ComponentName handler, PersistableBundle params, Executor executor, OutcomeReceiver<List<SurfacePackageToken>, Exception> receiver)
Ejecuta un |
void
|
requestSurfacePackage(SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackage, Exception> receiver)
Solicita que se inserte un |
Métodos heredados | |
---|---|
Métodos públicos
ejecutar
public void execute (ComponentName handler, PersistableBundle params, Executor executor, OutcomeReceiver<List<SurfacePackageToken>, Exception> receiver)
Ejecuta un IsolatedService
en la zona de pruebas de OnDevicePersonalization. La plataforma se vincula al IsolatedService
especificado en un proceso aislado y llama a IsolatedWorker#onExecute(ExecuteInput, java.util.function.Consumer)
con los parámetros que proporciona el llamador. Cuando IsolatedService
finaliza la ejecución, la plataforma muestra tokens que hacen referencia a los resultados del servicio al llamador.
Estos tokens se pueden usar posteriormente para mostrar resultados en un SurfaceView
dentro de la app que realiza la llamada.
Parámetros | |
---|---|
handler |
ComponentName : Es el ComponentName de IsolatedService .
Este valor no puede ser null . |
params |
PersistableBundle : Es un PersistableBundle que se pasa de la app que realiza la llamada a IsolatedService . El contenido esperado de este parámetro lo define IsolatedService . La plataforma no interpreta este parámetro.
Este valor no puede ser null . |
executor |
Executor : Es el Executor en el que se invocará la devolución de llamada.
Este valor no puede ser null .
Los eventos de devolución de llamada y de objetos de escucha se envían a través de este Executor , lo que proporciona una manera fácil de controlar el subproceso que se usa. Para enviar eventos a través del subproceso principal de tu aplicación, puedes usar Context.getMainExecutor() .
De lo contrario, proporciona un Executor que se envíe a un subproceso adecuado. |
receiver |
OutcomeReceiver : Muestra una lista de objetos SurfacePackageToken , cada uno de los cuales es una referencia opaca a un RenderingConfig que muestra un IsolatedService o un Exception en caso de error. Los objetos SurfacePackageToken mostrados se pueden usar en una llamada a requestSurfacePackage(android.adservices.ondevicepersonalization.SurfacePackageToken, android.os.IBinder, int, int, int, java.util.concurrent.Executor, android.os.OutcomeReceiver) posterior para mostrar el resultado en una vista. La app que realiza la llamada y la IsolatedService deben coincidir en el tamaño esperado de esta lista.
Una entrada en la lista de objetos SurfacePackageToken que se muestra puede ser nula para indicar que el servicio no tiene un resultado para esa plataforma específica.
En caso de error, el receptor muestra una de las siguientes excepciones: Muestra un PackageManager.NameNotFoundException si el paquete del controlador no está instalado o no tiene un manifiesto de ODP válido.
Muestra ClassNotFoundException si no se encuentra la clase de controlador.
Muestra un OnDevicePersonalizationException si falla la ejecución del controlador. |
requestSurfacePackage
public void requestSurfacePackage (SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackage, Exception> receiver)
Solicita que se inserte un SurfaceControlViewHost.SurfacePackage
en un SurfaceView
dentro de la app que realiza la llamada. El paquete de la plataforma contendrá un View
con el contenido de un resultado de una llamada anterior a #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver)
que se ejecuta en la zona de pruebas de OnDevicePersonalization.
Parámetros | |
---|---|
surfacePackageToken |
SurfacePackageToken : Es una referencia a un SurfacePackageToken que muestra una llamada anterior a #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver) .
Este valor no puede ser null . |
surfaceViewHostToken |
IBinder : Es el hostToken de SurfaceView , que SurfaceView.getHostToken() muestra después de que SurfaceView se agregó a la jerarquía de vistas.
Este valor no puede ser null . |
displayId |
int : Es el ID de número entero de la pantalla lógica en la que se mostrará el SurfaceControlViewHost.SurfacePackage que muestra Context.getDisplay().getDisplayId() . |
width |
int : Es el ancho de SurfaceControlViewHost.SurfacePackage en píxeles. |
height |
int : Es la altura de SurfaceControlViewHost.SurfacePackage en píxeles. |
executor |
Executor : el Executor en el que se invoca la devolución de llamada. Este valor no puede ser null .
Los eventos de devolución de llamada y de objetos de escucha se envían a través de este Executor , lo que proporciona una manera fácil de controlar el subproceso que se usa. Para enviar eventos a través del subproceso principal de tu aplicación, puedes usar Context.getMainExecutor() .
De lo contrario, proporciona un Executor que se envíe a un subproceso adecuado. |
receiver |
OutcomeReceiver : Muestra un SurfaceControlViewHost.SurfacePackage si se realiza correctamente o un Exception si se produce un error. El tipo de excepción es OnDevicePersonalizationException si falla la ejecución del controlador.
Este valor no puede ser null . |