Serviço isolado

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 são executados de forma isolada de desenvolvimento. O serviço pode produzir conteúdos para serem exibidos em um SurfaceView em um app de chamada e gravar resultados persistentes no dispositivo. que pode ser consumido pela análise federada para análises estatísticas entre dispositivos ou pelo aprendizado federado para treinamento de modelos. Os apps clientes usam OnDevicePersonalizationManager para interagir com uma 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 legíveis por 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 binder para uma IsolatedService.

abstract IsolatedWorker onRequest(RequestToken requestToken)

Retorne uma instância de um IsolatedWorker que processa solicitações de clientes.

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 em HTML. Quando o HTML é renderizado em um WebView, a plataforma intercepta 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 Uma EventUrlProvider que retorna URLs de acompanhamento 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 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 job de computação federada programador. 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 serviço chave-valor que o serviço pode usar para armazenar quaisquer dados. O conteúdo desta tabela é visíveis apenas para o serviço em execução em um processo isolado e não podem ser enviados 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 precisa ser chamado em 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 precisa ser chamado em 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 é somente leitura armazenamento de chave-valor que contém dados que são periodicamente transferidos por download a partir de um endpoint declarado na tag no manifesto ODP do serviço, como 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. A na KeyValueStore retornada são operações de bloqueio e precisam ser chamados em 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:

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 vinculação a esse serviço, conforme informado para Context.bindService. Observe que qualquer extra que tenha sido incluídos na intent nesse momento não serão vistos 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)

Retorne uma instância de um IsolatedWorker que processa solicitações de clientes.

Parâmetros
requestToken RequestToken: um token opaco que identifica a solicitação atual para o serviço que precisam ser passados 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.