OnDevicePersonalizationManager
public
class
OnDevicePersonalizationManager
extends Object
java.lang.Object | |
↳ | android.adservices.ondevicepersonalization.OnDevicePersonalizationManager |
O OnDevicePersonalizationManager fornece APIs para que os apps carreguem um
IsolatedService
em um processo isolado e interajam 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 e também gravar
resultados persistentes no armazenamento no dispositivo, que podem ser consumidos pelo Google Analytics federado para
análise estatística entre dispositivos ou pelo Aprendizado federado para treinamento de modelos. O conteúdo
exibido e a saída persistente não são acessíveis 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 IsolatedService
termina a execução, a plataforma retorna tokens que se referem aos resultados do serviço para o autor da chamada.
Esses tokens podem ser usados posteriormente para mostrar 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 é definido
por IsolatedService . A plataforma não interpreta esse parâmetro.
Esse valor não pode ser null . |
executor |
Executor : o Executor em que o callback é 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 uma Executor que seja enviada para uma linha de execução adequada. |
receiver |
OutcomeReceiver : retorna uma lista de objetos SurfacePackageToken , cada um sendo uma referência opaca a um RenderingConfig retornado por um IsolatedService ou um Exception em caso de falha. Os objetos
SurfacePackageToken retornados podem ser usados em uma chamada
requestSurfacePackage(android.adservices.ondevicepersonalization.SurfacePackageToken, android.os.IBinder, int, int, int, java.util.concurrent.Executor, android.os.OutcomeReceiver) subsequente para mostrar o resultado em uma visualização. O app de chamada e
o IsolatedService precisam concordar com o tamanho esperado dessa lista.
Uma entrada na lista retornada de objetos SurfacePackageToken pode ser nula para
indicar 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 pacote
do gerenciador não estiver instalado ou não tiver 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
dentro do app de chamada. O pacote de superfície vai conter um
View
com o conteúdo de um resultado de uma chamada anterior para
#execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver)
em execução no
sandbox OnDevicePersonalization.
Parâmetros | |
---|---|
surfacePackageToken |
SurfacePackageToken : uma referência a um SurfacePackageToken retornado por uma chamada
anterior para #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver) .
Esse valor não pode ser null . |
surfaceViewHostToken |
IBinder : o hostToken do SurfaceView , que é
retornado por SurfaceView.getHostToken() depois que o
SurfaceView foi adicionado à hierarquia de visualização.
Esse valor não pode ser null . |
displayId |
int : o ID inteiro da tela lógica em que o
SurfaceControlViewHost.SurfacePackage será mostrado, retornado por
Context.getDisplay().getDisplayId() . |
width |
int : a largura do SurfaceControlViewHost.SurfacePackage
em pixels. |
height |
int : a altura da 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 uma Executor que seja enviada para uma linha de execução adequada. |
receiver |
OutcomeReceiver : retorna um
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 . |