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