IsolatedService

public abstract class IsolatedService
extends Service

java.lang.Object
   ↳ android.content.Context
     ↳ android.content.ContextWrapper
       ↳ android.app.Service
         ↳ android.adservices.ondevicepersonalization.IsolatedService


Classe de base para serviços iniciados pelo ODP em uma chamada para OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver) e executados em um processo isolado. O serviço pode produzir conteúdo para ser exibido em um SurfaceView em um app de chamada e 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. Os apps clientes usam OnDevicePersonalizationManager para interagir com um IsolatedService.

Resumo

Constantes herdadas

Construtores públicos

IsolatedService()

Métodos públicos

final EventUrlProvider getEventUrlProvider(RequestToken requestToken)

Retorna um EventUrlProvider para a solicitação atual.

final FederatedComputeScheduler getFederatedComputeScheduler(RequestToken requestToken)

Retorna um FederatedComputeScheduler para a solicitação atual.

final MutableKeyValueStore getLocalData(RequestToken requestToken)

Retorna um objeto de acesso a dados para a tabela LOCAL_DATA.

final LogReader getLogReader(RequestToken requestToken)

Retorna um DAO para as tabelas REQUESTS e EVENTS que fornece acesso às linhas que podem ser lidas pelo IsolatedService.

final KeyValueStore getRemoteData(RequestToken requestToken)

Retorna um objeto de acesso a dados para a tabela REMOTE_DATA.

final UserData getUserData(RequestToken requestToken)

Retorna o UserData fornecido pela plataforma para a solicitação atual.

IBinder onBind(Intent intent)

Processa a vinculação ao IsolatedService.

void onCreate()

Cria um vinculador para uma IsolatedService.

abstract IsolatedWorker onRequest(RequestToken requestToken)

Retorna uma instância de um IsolatedWorker que processa solicitações do cliente.

Métodos herdados

Construtores públicos

Serviço isolado

public IsolatedService ()

Métodos públicos

getEventUrlProvider

public final EventUrlProvider getEventUrlProvider (RequestToken requestToken)

Retorna um EventUrlProvider para a solicitação atual. O EventUrlProvider fornece URLs que podem ser incorporados no HTML. Quando o HTML é renderizado em um WebView, a plataforma intercepta as solicitações para esses URLs e invoca IsolatedWorker#onEvent(EventInput, Consumer).

Parâmetros
requestToken RequestToken: um token opaco que identifica a solicitação atual para o serviço. Esse valor não pode ser null.

Retorna
EventUrlProvider Um EventUrlProvider que retorna URLs de rastreamento de eventos. Esse valor não pode ser null.

Confira também:

getFederatedComputeScheduler

public final FederatedComputeScheduler getFederatedComputeScheduler (RequestToken requestToken)

Retorna um FederatedComputeScheduler para a solicitação atual. O FederatedComputeScheduler pode ser usado para programar e cancelar jobs de computação federada. A computação federada inclui aprendizado federado e jobs analíticos federados.

Parâmetros
requestToken RequestToken: um token opaco que identifica a solicitação atual para o serviço. Esse valor não pode ser null.

Retorna
FederatedComputeScheduler Um FederatedComputeScheduler que retorna um programador de jobs de computação federada. Esse valor não pode ser null.

Confira também:

getLocalData

public final MutableKeyValueStore getLocalData (RequestToken requestToken)

Retorna um objeto de acesso a dados para a tabela LOCAL_DATA. A tabela LOCAL_DATA é um armazenamento de chave-valor persistente que o serviço pode usar para armazenar dados. O conteúdo dessa tabela é visível apenas para o serviço em execução em um processo isolado e não pode ser enviado para fora do dispositivo.

Parâmetros
requestToken RequestToken: um token opaco que identifica a solicitação atual para o serviço. Esse valor não pode ser null.

Retorna
MutableKeyValueStore Um objeto MutableKeyValueStore que fornece acesso à tabela LOCAL_DATA. Os métodos na MutableKeyValueStore retornada são operações de bloqueio e precisam ser chamados de uma linha de execução de worker, e não da linha de execução principal ou de uma linha de execução de vinculação. Esse valor não pode ser null.

Confira também:

getLogReader

public final LogReader getLogReader (RequestToken requestToken)

Retorna um DAO para as tabelas REQUESTS e EVENTS que fornece acesso às linhas legíveis por IsolatedService.

Parâmetros
requestToken RequestToken: um token opaco que identifica a solicitação atual para o serviço. Esse valor não pode ser null.

Retorna
LogReader Um objeto LogReader que fornece acesso à tabela REQUESTS e EVENTS. Os métodos na LogReader retornada são operações de bloqueio e precisam ser chamados de uma linha de execução de worker, e não da linha de execução principal ou de uma linha de execução de vinculação. Esse valor não pode ser null.

Confira também:

getRemoteData

public final KeyValueStore getRemoteData (RequestToken requestToken)

Retorna um objeto de acesso a dados para a tabela REMOTE_DATA. A tabela REMOTE_DATA é um armazenamento de chave-valor somente leitura que contém dados transferidos periodicamente de um endpoint declarado na tag no manifesto ODP do serviço, conforme mostrado no exemplo a seguir.

<!-- Contents of res/xml/OdpSettings.xml -->
 <on-device-personalization>
 <!-- Name of the service subclass -->
 <service "com.example.odpsample.SampleService">
   <!-- If this tag is present, ODP will periodically poll this URL and
    download content to populate REMOTE_DATA. Adopters that do not need to
    download content from their servers can skip this tag. -->
   <download-settings url="https://example.com/get" />
 </service>
 </on-device-personalization>
 

Parâmetros
requestToken RequestToken: um token opaco que identifica a solicitação atual para o serviço. Esse valor não pode ser null.

Retorna
KeyValueStore Um objeto KeyValueStore que fornece acesso à tabela REMOTE_DATA. Os métodos na KeyValueStore retornada são operações de bloqueio e precisam ser chamados em uma linha de execução de worker, e não na linha de execução principal ou de vinculação. Esse valor não pode ser null.

Confira também:

getUserData

public final UserData getUserData (RequestToken requestToken)

Retorna o UserData fornecido pela plataforma para a solicitação atual.

Parâmetros
requestToken RequestToken: um token opaco que identifica a solicitação atual para o serviço. Esse valor não pode ser null.

Retorna
UserData Um objeto UserData. Esse valor pode ser null.

Confira também:

onBind

public IBinder onBind (Intent intent)

Processa a vinculação ao IsolatedService.

Parâmetros
intent Intent: a intent usada para vincular a esse serviço, conforme informado a Context.bindService. Os extras incluídos na intent nesse ponto não serão mostrados aqui. Esse valor não pode ser null.

Retorna
IBinder Esse valor pode ser null.

onCreate

public void onCreate ()

Cria um binder para uma IsolatedService.

onRequest

public abstract IsolatedWorker onRequest (RequestToken requestToken)

Retorna uma instância de um IsolatedWorker que processa solicitações do cliente.

Parâmetros
requestToken RequestToken: um token opaco que identifica a solicitação atual para o serviço que precisa ser transmitido para métodos de serviço que dependem do estado por solicitação. Esse valor não pode ser null.

Retorna
IsolatedWorker Esse valor não pode ser null.