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 IsolatedService no sandbox OnDevicePersonalization.

void requestSurfacePackage(SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackageException> receiver)

Solicita que um SurfaceControlViewHost.SurfacePackage seja inserido em um SurfaceView no app de chamada.

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