OnDevicePersonalizationManager
public
class
OnDevicePersonalizationManager
extends Object
| java.lang.Object | |
| ↳ | android.adservices.ondevicepersonalization.OnDevicePersonalizationManager |
O OnDevicePersonalizationManager fornece APIs para que os aplicativos carreguem uma
IsolatedService em um processo isolado e interagem com ele.
Um app pode solicitar uma IsolatedService para gerar conteúdo para exibição.
em um SurfaceView na hierarquia de visualização do app, além de gravar
resultados persistentes para o armazenamento no dispositivo que podem ser consumidos pelo Federated Analytics para
análises estatísticas entre dispositivos ou pelo aprendizado federado para treinamento de modelos. A página
e a saída persistente não podem ser acessadas diretamente pelo app de chamada.
Resumo
Métodos públicos | |
|---|---|
void
|
execute(ComponentName handler, PersistableBundle params, Executor executor, OutcomeReceiver<List<SurfacePackageToken>, Exception> receiver)
Executa um |
void
|
requestSurfacePackage(SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackage, Exception> receiver)
Solicita que um |
Métodos herdados | |
|---|---|
Métodos públicos
executar
public void execute (ComponentName handler, PersistableBundle params, Executor executor, OutcomeReceiver<List<SurfacePackageToken>, Exception> receiver)
Executa um IsolatedService no sandbox OnDevicePersonalization. A
plataforma se vincula ao IsolatedService especificado em um processo isolado
e chama IsolatedWorker#onExecute(ExecuteInput, java.util.function.Consumer)
com os parâmetros fornecidos pelo autor da chamada. Quando a execução de IsolatedService terminar,
a plataforma retorna tokens que se referem aos resultados do serviço para o autor da chamada.
Esses tokens podem ser usados posteriormente para exibir resultados em um
SurfaceView no app de chamada.
| Parâmetros | |
|---|---|
handler |
ComponentName: o ComponentName do IsolatedService.
Esse valor não pode ser null. |
params |
PersistableBundle: uma PersistableBundle transmitida do app de chamada para o
IsolatedService O conteúdo esperado desse parâmetro está definido
pela IsolatedService. A plataforma não interpreta esse parâmetro.
Esse valor não pode ser null. |
executor |
Executor: o Executor em que o callback será invocado.
Esse valor não pode ser null.
Eventos de callback e listener são enviados com esse
Executor, fornecendo uma maneira fácil de controlar qual linha de execução vai ser
usada. Para enviar eventos com a linha de execução principal do
aplicativo, use
Context.getMainExecutor().
Caso contrário, forneça um Executor que seja enviado para uma linha de execução adequada. |
receiver |
OutcomeReceiver: retorna uma lista de objetos SurfacePackageToken, cada um deles
uma referência opaca a um RenderingConfig retornado por uma
IsolatedService ou um Exception em caso de falha. O
Objetos SurfacePackageToken podem ser usados em uma
requestSurfacePackage(android.adservices.ondevicepersonalization.SurfacePackageToken, android.os.IBinder, int, int, int, java.util.concurrent.Executor, android.os.OutcomeReceiver) para exibir o resultado em uma visualização. O app de chamada e
IsolatedService precisa concordar com o tamanho esperado dessa lista.
Uma entrada na lista retornada de objetos SurfacePackageToken pode ser nula para
indicam que o serviço não tem saída para essa superfície específica.
Em caso de erro, o receptor retorna uma das seguintes exceções:
Retorna um PackageManager.NameNotFoundException se o gerenciador
O pacote não está instalado ou não tem um manifesto ODP válido.
Retornará ClassNotFoundException se a classe do gerenciador não for encontrada.
Retorna um OnDevicePersonalizationException se a execução do gerenciador falhar. |
requestSurfacePackage
public void requestSurfacePackage (SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackage, Exception> receiver)
Solicita que um SurfaceControlViewHost.SurfacePackage seja inserido em um
SurfaceView no app de chamada. O pacote de superfície vai conter uma
View pelo conteúdo de um resultado de uma chamada anterior para
#execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver) em execução em
sandbox OnDevicePersonalization.
| Parâmetros | |
|---|---|
surfacePackageToken |
SurfacePackageToken: uma referência a um SurfacePackageToken retornado por uma priori.
para #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver).
Esse valor não pode ser null. |
surfaceViewHostToken |
IBinder: o hostToken do SurfaceView, que é
retornados por SurfaceView.getHostToken() após o
SurfaceView foi adicionado à hierarquia de visualização.
Esse valor não pode ser null. |
displayId |
int: o ID do número inteiro da tela lógica em que o
SurfaceControlViewHost.SurfacePackage, retornado por
Context.getDisplay().getDisplayId() |
width |
int: a largura do SurfaceControlViewHost.SurfacePackage.
em pixels. |
height |
int: a altura do SurfaceControlViewHost.SurfacePackage.
em pixels. |
executor |
Executor: o Executor em que o callback é invocado
Este valor não pode ser null.
Eventos de callback e listener são enviados com esse
Executor, fornecendo uma maneira fácil de controlar qual linha de execução vai ser
usada. Para enviar eventos com a linha de execução principal do
aplicativo, use
Context.getMainExecutor().
Caso contrário, forneça um Executor que seja enviado para uma linha de execução adequada. |
receiver |
OutcomeReceiver: retorna uma
SurfaceControlViewHost.SurfacePackage em caso de sucesso ou
Exception em caso de falha. O tipo de exceção é
OnDevicePersonalizationException se a execução do gerenciador falhar.
Esse valor não pode ser null. |