IsolatedWorker
public
interface
IsolatedWorker
android.adservices.ondevicepersonalization.IsolatedWorker |
Interface com métodos que precisam ser implementados para lidar com solicitações do SO para um IsolatedService
. O IsolatedService
cria uma instância de IsolatedWorker
em cada solicitação e chama um dos métodos abaixo, dependendo do tipo da solicitação. O IsolatedService
chama o método em uma linha de execução de vinculação, e o IsolatedWorker
precisa
transferir operações de longa duração para uma linha de execução de worker. O parâmetro de consumidor de cada método é usado
para retornar resultados.
Resumo
Métodos públicos | |
---|---|
default
void
|
onDownloadCompleted(DownloadCompletedInput input, Consumer<DownloadCompletedOutput> consumer)
Processa um download concluído. |
default
void
|
onEvent(EventInput input, Consumer<EventOutput> consumer)
Processa um evento acionado por uma solicitação para um URL de rastreamento fornecido pela plataforma |
default
void
|
onExecute(ExecuteInput input, Consumer<ExecuteOutput> consumer)
Processa uma solicitação de um app. |
default
void
|
onRender(RenderInput input, Consumer<RenderOutput> consumer)
Gera HTML para os resultados que foram retornados como resultado de
|
default
void
|
onTrainingExample(TrainingExampleInput input, Consumer<TrainingExampleOutput> consumer)
Gera um único exemplo de treinamento usado para o job de computação federada. |
Métodos públicos
onDownloadCompleted
public void onDownloadCompleted (DownloadCompletedInput input, Consumer<DownloadCompletedOutput> consumer)
Processa um download concluído. A plataforma faz o download do conteúdo usando os parâmetros definidos no
manifesto do pacote do IsolatedService
, chama essa função após o download
ser concluído e atualiza a tabela REMOTE_DATA do
IsolatedService#getRemoteData(RequestToken)
com o resultado desse método.
Parâmetros | |
---|---|
input |
DownloadCompletedInput : parâmetros do gerenciador de download.
Esse valor não pode ser null . |
consumer |
Consumer : callback que recebe o resultado. Precisa ser chamado com null em
um erro. Se for chamada com null , nenhuma atualização será feita na tabela REMOTE_DATA.
Se esse método gerar uma |
onEvent
public void onEvent (EventInput input, Consumer<EventOutput> consumer)
Processa um evento acionado por uma solicitação para um URL de acompanhamento fornecido pela plataforma EventUrlProvider
que foi incorporado à saída HTML retornada por
onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer)
. A plataforma atualiza a tabela EVENTS com EventOutput#getEventLogRecord()
.
Parâmetros | |
---|---|
input |
EventInput : os parâmetros necessários para calcular os dados do evento.
Esse valor não pode ser null . |
consumer |
Consumer : callback que recebe o resultado. Precisa ser chamado com null em
um erro. Se for chamado com null , nenhum dado será gravado na tabela EVENTS.
Se esse método gerar uma |
onExecute
public void onExecute (ExecuteInput input, Consumer<ExecuteOutput> consumer)
Processa uma solicitação de um app. Esse método é chamado quando um app chama OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle,
java.util.concurrent.Executor, OutcomeReceiver)
, que se refere a um
IsolatedService
nomeado.
Parâmetros | |
---|---|
input |
ExecuteInput : solicita parâmetros do app que faz a chamada.
Esse valor não pode ser null . |
consumer |
Consumer : callback que recebe o resultado ExecuteOutput . Precisa ser chamado
com null em caso de erro. O erro é propagado para o app de chamada como um OnDevicePersonalizationException com o código de erro OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED . Para evitar o vazamento de dados
particulares para o app de chamada, não há relatórios de erros mais detalhados disponíveis. Se o IsolatedService precisar informar estatísticas de erros para o back-end, ele vai preencher ExecuteOutput com dados de erro para registro e usar o Google Analytics federado para agregar os relatórios de erros.
Se esse método gerar um |
onRender
public void onRender (RenderInput input, Consumer<RenderOutput> consumer)
Gera HTML para os resultados retornados como resultado de
onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer)
. Chamado quando um app cliente chama
OnDevicePersonalizationManager#requestSurfacePackage(SurfacePackageToken, IBinder, int, int, int, java.util.concurrent.Executor, OutcomeReceiver)
.
A plataforma renderizará esse HTML em um WebView
dentro de um frame
fechado.
Parâmetros | |
---|---|
input |
RenderInput : parâmetros para a solicitação de renderização.
Esse valor não pode ser null . |
consumer |
Consumer : callback que recebe o resultado. Precisa ser chamado com null em
um erro. O erro é propagado para o app de chamada como OnDevicePersonalizationException com o código de erro OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED .
Se esse método gerar um |
onTrainingExample
public void onTrainingExample (TrainingExampleInput input, Consumer<TrainingExampleOutput> consumer)
Gera um único exemplo de treinamento usado para o job de computação federada.
Parâmetros | |
---|---|
input |
TrainingExampleInput : os parâmetros necessários para gerar o exemplo de treinamento.
Esse valor não pode ser null . |
consumer |
Consumer : callback a ser invocado após a conclusão.
Esse valor não pode ser null . |