Servicio aislado

public abstract class IsolatedService
extends Service

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


Clase base para los servicios que ODP inicia en una llamada a OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver) y se ejecutan en un proceso aislado. El servicio puede producir contenido para mostrar en un SurfaceView en una app de llamada y escribir resultados persistentes en el almacenamiento integrado en el dispositivo, que puede consumir el análisis federado para el análisis estadístico multidispositivo o el aprendizaje federado para el entrenamiento de modelos. Las apps cliente usan OnDevicePersonalizationManager para interactuar con un IsolatedService.

Resumen

Constantes heredadas

Constructores públicos

IsolatedService()

Métodos públicos

final EventUrlProvider getEventUrlProvider(RequestToken requestToken)

Muestra un EventUrlProvider para la solicitud actual.

final FederatedComputeScheduler getFederatedComputeScheduler(RequestToken requestToken)

Muestra un FederatedComputeScheduler para la solicitud actual.

final MutableKeyValueStore getLocalData(RequestToken requestToken)

Devuelve un objeto de acceso a los datos para la tabla LOCAL_DATA.

final LogReader getLogReader(RequestToken requestToken)

Muestra un DAO para las tablas REQUESTS y EVENTS que proporciona acceso a las filas que IsolatedService puede leer.

final KeyValueStore getRemoteData(RequestToken requestToken)

Devuelve un objeto de acceso a los datos para la tabla REMOTE_DATA.

final UserData getUserData(RequestToken requestToken)

Muestra el UserData proporcionado por la plataforma para la solicitud actual.

IBinder onBind(Intent intent)

Controla la vinculación a IsolatedService.

void onCreate()

Crea un vinculador para un IsolatedService.

abstract IsolatedWorker onRequest(RequestToken requestToken)

Muestra una instancia de un IsolatedWorker que controla las solicitudes del cliente.

Métodos heredados

Constructores públicos

Servicio aislado

public IsolatedService ()

Métodos públicos

getEventUrlProvider

public final EventUrlProvider getEventUrlProvider (RequestToken requestToken)

Muestra un EventUrlProvider para la solicitud actual. EventUrlProvider proporciona URLs que se pueden incorporar en HTML. Cuando se renderiza el HTML en un WebView, la plataforma intercepta las solicitudes a estas URLs y, luego, invoca a IsolatedWorker#onEvent(EventInput, Consumer).

Parámetros
requestToken RequestToken: Un token opaco que identifica la solicitud actual al servicio. Este valor no puede ser null.

Muestra
EventUrlProvider Un EventUrlProvider que muestra URLs de seguimiento de eventos. Este valor no puede ser null.

getFederatedComputeScheduler

public final FederatedComputeScheduler getFederatedComputeScheduler (RequestToken requestToken)

Muestra un FederatedComputeScheduler para la solicitud actual. FederatedComputeScheduler se puede usar para programar y cancelar trabajos de procesamiento federado. El procesamiento federado incluye aprendizaje federado y trabajos de análisis federados.

Parámetros
requestToken RequestToken: Un token opaco que identifica la solicitud actual al servicio. Este valor no puede ser null.

Muestra
FederatedComputeScheduler Un FederatedComputeScheduler que muestra un programador de trabajos de procesamiento federado Este valor no puede ser null.

getLocalData

public final MutableKeyValueStore getLocalData (RequestToken requestToken)

Muestra un objeto de acceso a los datos para la tabla LOCAL_DATA. La tabla LOCAL_DATA es un almacén de pares clave-valor persistente que el servicio puede usar para almacenar cualquier dato. El contenido de esta tabla solo es visible para el servicio que se ejecuta en un proceso aislado y no se puede enviar fuera del dispositivo.

Parámetros
requestToken RequestToken: Un token opaco que identifica la solicitud actual al servicio. Este valor no puede ser null.

Muestra
MutableKeyValueStore Un objeto MutableKeyValueStore que proporciona acceso a la tabla LOCAL_DATA. Los métodos en el MutableKeyValueStore que se muestra son operaciones de bloqueo y se deben llamar desde un subproceso de trabajo, no desde el subproceso principal ni desde un subproceso de Binder. Este valor no puede ser null.

getLogReader

public final LogReader getLogReader (RequestToken requestToken)

Muestra un DAO para las tablas REQUESTS y EVENTS que proporciona acceso a las filas que IsolatedService puede leer.

Parámetros
requestToken RequestToken: Un token opaco que identifica la solicitud actual al servicio. Este valor no puede ser null.

Muestra
LogReader Un objeto LogReader que proporciona acceso a la tabla REQUESTS y EVENTS. Los métodos en el LogReader que se muestra son operaciones de bloqueo y se deben llamar desde un subproceso de trabajo, no desde el subproceso principal ni desde un subproceso de Binder. Este valor no puede ser null.

getRemoteData

public final KeyValueStore getRemoteData (RequestToken requestToken)

Devuelve un objeto de acceso a los datos para la tabla REMOTE_DATA. La tabla REMOTE_DATA es un almacén de pares clave-valor de solo lectura que contiene datos que se descargan periódicamente desde un extremo declarado en la etiqueta del manifiesto de ODP del servicio, como se muestra en el siguiente ejemplo.

<!-- 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: Un token opaco que identifica la solicitud actual al servicio. Este valor no puede ser null.

Muestra
KeyValueStore Es un objeto KeyValueStore que proporciona acceso a la tabla REMOTE_DATA. Los métodos en el KeyValueStore que se muestra son operaciones de bloqueo y se deben llamar desde un subproceso de trabajo, no desde el subproceso principal ni desde un subproceso de Binder. Este valor no puede ser null.

getUserData

public final UserData getUserData (RequestToken requestToken)

Muestra el UserData proporcionado por la plataforma para la solicitud actual.

Parámetros
requestToken RequestToken: Un token opaco que identifica la solicitud actual al servicio. Este valor no puede ser null.

Muestra
UserData Un objeto UserData Este valor puede ser null.

onBind

public IBinder onBind (Intent intent)

Controla la vinculación a IsolatedService.

Parámetros
intent Intent: Es el intent que se usó para vincularse a este servicio, como se le proporcionó a Context.bindService. Ten en cuenta que los extras que se incluyeron con el intent en ese momento no se verán aquí. Este valor no puede ser null.

Muestra
IBinder Este valor puede ser null.

onCreate

public void onCreate ()

Crea un Binder para un IsolatedService.

onRequest

public abstract IsolatedWorker onRequest (RequestToken requestToken)

Muestra una instancia de un IsolatedWorker que controla las solicitudes del cliente.

Parámetros
requestToken RequestToken: Es un token opaco que identifica la solicitud actual para el servicio que se debe pasar a los métodos de servicio que dependen del estado por solicitud. Este valor no puede ser null.

Resultado que se muestra
IsolatedWorker Este valor no puede ser null.