OnDevicePersonalizationManager
public
class
OnDevicePersonalizationManager
extends Object
java.lang.Object | |
↳ | android.adservices.ondevicepersonalization.OnDevicePersonalizationManager |
OnDevicePersonalizationManager proporciona APIs para que las apps carguen una
IsolatedService
de manera aislada e interactúa con él.
Una app puede solicitar un IsolatedService
a fin de generar contenido para mostrar
en una SurfaceView
dentro de la jerarquía de vistas de la app y también escribir
persistentes al almacenamiento en el dispositivo, que el Análisis federado puede consumir
análisis estadístico multidispositivo o aprendizaje federado para el entrenamiento de modelos. El que se muestra
contenido y la salida persistente no son directamente accesibles por la app que realiza la llamada.
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. El
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 proporcionados por el llamador. Cuando IsolatedService
termine de ejecutarse,
la plataforma devuelve tokens que hacen referencia a los resultados del servicio al emisor.
Estos tokens pueden usarse posteriormente para mostrar resultados en un
SurfaceView
en la app que realiza la llamada
Parámetros | |
---|---|
handler |
ComponentName : 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 la
IsolatedService El contenido esperado de este parámetro se define
por el 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
una referencia opaca a un objeto RenderingConfig mostrada por un
IsolatedService o un Exception en caso de error. El valor devuelto
Los objetos SurfacePackageToken pueden usarse en una resolución
Llamada a requestSurfacePackage(android.adservices.ondevicepersonalization.SurfacePackageToken, android.os.IBinder, int, int, int, java.util.concurrent.Executor, android.os.OutcomeReceiver) para mostrar el resultado en una vista. La app que realiza la llamada y
IsolatedService debe aceptar el tamaño esperado de esta lista.
Una entrada de la lista de objetos SurfacePackageToken que se muestra puede ser nula como
indica que el servicio no tiene resultados para esa superficie específica.
En caso de error, el receptor muestra una de las siguientes excepciones:
Muestra un PackageManager.NameNotFoundException si el 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
en la app que realiza la llamada El paquete de superficie contendrá un
View
con el contenido de una llamada anterior a
#execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver)
se ejecuta en
en la zona de pruebas de OnDevicePersonalization.
Parámetros | |
---|---|
surfacePackageToken |
SurfacePackageToken : una referencia a un SurfacePackageToken que muestra un precedente
llamada a #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver) .
Este valor no puede ser null . |
surfaceViewHostToken |
IBinder : El hostToken de SurfaceView , que es
que devuelve SurfaceView.getHostToken() después de
Se agregó SurfaceView a la jerarquía de vistas.
Este valor no puede ser null . |
displayId |
int : el ID de número entero de la pantalla lógica en la que se mostrará el
SurfaceControlViewHost.SurfacePackage , devuelto por
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 la operación es exitosa, o
Exception en caso de error. El tipo de excepción es
Es OnDevicePersonalizationException si falla la ejecución del controlador.
Este valor no puede ser null . |