Servicio aislado

public abstract class IsolatedService
extends Service

java.lang.Object.
   ↳ android.content.Context;
     ↳ android.content.ContextWrapper (en inglés)
       ↳ android.app.Service.
         ↳ android.adservices.ondevicepersonalization.IsolatedService


Clase básica 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 que se mostrará en un SurfaceView en una app que realiza la llamada y escribir resultados persistentes en el almacenamiento en el dispositivo, que Federated Analytics puede consumir para análisis estadístico multidispositivo o 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)

Muestra un objeto de acceso a 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 puede leer el IsolatedService.

final KeyValueStore getRemoteData(RequestToken requestToken)

Muestra un objeto de acceso a 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 una Binder para una IsolatedService.

abstract IsolatedWorker onRequest(RequestToken requestToken)

Muestra una instancia de IsolatedWorker que controla las solicitudes de los clientes.

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 procesa el HTML en una WebView, la plataforma intercepta las solicitudes a estas URLs y, luego, invoca a IsolatedWorker#onEvent(EventInput, Consumer).

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

Devuelve
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. Se puede usar FederatedComputeScheduler para programar y cancelar trabajos de procesamiento federados. El procesamiento federado incluye aprendizaje federado y trabajos de análisis federados.

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

Devuelve
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 datos para la tabla LOCAL_DATA. La tabla LOCAL_DATA es un almacén persistente de clave-valor 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: Es un token opaco que identifica la solicitud actual al servicio. Este valor no puede ser null.

Devuelve
MutableKeyValueStore Un objeto MutableKeyValueStore que proporciona acceso a la tabla LOCAL_DATA. Los métodos del MutableKeyValueStore que se muestra son operaciones de bloqueo y se los debe llamar desde un subproceso de trabajo y no desde el subproceso principal o 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 puede leer el IsolatedService.

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

Devuelve
LogReader Un objeto LogReader que proporciona acceso a la tabla REQUESTS y EVENTS Los métodos del LogReader que se muestra son operaciones de bloqueo y se los debe llamar desde un subproceso de trabajo y no desde el subproceso principal o de Binder. Este valor no puede ser null.

getRemoteData.

public final KeyValueStore getRemoteData (RequestToken requestToken)

Muestra un objeto de acceso a datos para la tabla REMOTE_DATA. La tabla REMOTE_DATA es un almacén de 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: Es un token opaco que identifica la solicitud actual al servicio. Este valor no puede ser null.

Devuelve
KeyValueStore Un objeto KeyValueStore que proporciona acceso a la tabla REMOTE_DATA. Los métodos del KeyValueStore que se muestra son operaciones de bloqueo y se los debe llamar desde un subproceso de trabajo y no desde el subproceso principal o 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: Es un token opaco que identifica la solicitud actual al servicio. Este valor no puede ser null.

Devuelve
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 proporciona a Context.bindService. Ten en cuenta que los elementos adicionales que se hayan incluido con el intent en ese momento no se verán aquí. Este valor no puede ser null.

Devuelve
IBinder Este valor puede ser null.

onCreate

public void onCreate ()

Crea una Binder para una IsolatedService.

onRequest

public abstract IsolatedWorker onRequest (RequestToken requestToken)

Muestra una instancia de IsolatedWorker que controla las solicitudes de los clientes.

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

Devuelve
IsolatedWorker Este valor no puede ser null.