Serviço isolado

public abstract class IsolatedService
extends Service

java.lang.Object (link em inglês)
   ↳ android.content.Context (link em inglês)
     ↳ android.content.ContextWrapper (link em inglês)
       ↳ android.app.Service (link em inglês)
         ↳ 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 que será mostrado em um SurfaceView em um app de chamada e gravar resultados persistentes no armazenamento no dispositivo, que podem ser consumidos pelo Federated Analytics para análise estatística 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 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 com o IsolatedService.

void onCreate()

Cria um vinculador para um 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.

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

Veja 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 federados. 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.

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

Veja 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 permanente que o serviço pode usar para armazenar qualquer dado. 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.

Returns
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 principal ou de uma linha de execução de vinculação. Esse valor não pode ser null.

Veja 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 pelo 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.

Returns
LogReader Um objeto LogReader que fornece acesso à tabela REQUESTS and 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 principal ou de uma linha de execução de vinculação. Esse valor não pode ser null.

Veja 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 por download 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.

Returns
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 principal ou em uma linha de execução de vinculação. Esse valor não pode ser null.

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

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

Veja também:

onBind

public IBinder onBind (Intent intent)

Processa a vinculação com o IsolatedService.

Parâmetros
intent Intent: a intent usada para vincular a esse serviço, conforme fornecido a Context.bindService. Observe que os extras que foram incluídos na intent nesse momento não serão vistos aqui. Esse valor não pode ser null.

Returns
IBinder Esse valor pode ser null.

onCreate

public void onCreate ()

Cria um vinculador para um 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 precisa ser transmitido para métodos de serviço que dependem do estado por solicitação. Esse valor não pode ser null.

Returns
IsolatedWorker Esse valor não pode ser null.