Servicio aislado

public abstract class IsolatedService
extends Service

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


Clase básica para los servicios que la ODP inicia en una llamada a OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver) y se ejecutan en un entorno aislado de la información. El servicio puede producir contenido para mostrar en una SurfaceView en una app de llamadas y escribir resultados persistentes en el dispositivo que puede consumir el análisis federado para el análisis estadístico multidispositivo o por 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 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 objeto UserData proporcionado por la plataforma para la solicitud actual.

IBinder onBind(Intent intent)

Controla la vinculación con IsolatedService.

void onCreate()

Crea un Binder para un IsolatedService.

abstract IsolatedWorker onRequest(RequestToken requestToken)

Muestra una instancia de un 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. El EventUrlProvider proporciona URL que pueden incorporarse en HTML. Cuando el HTML se renderiza en una WebView, la plataforma intercepta las solicitudes a estas URLs y, luego, invoca IsolatedWorker#onEvent(EventInput, Consumer)

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

Muestra
EventUrlProvider Un objeto 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 la computación federada incluye aprendizaje federado y trabajos de análisis federados.

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

Muestra
FederatedComputeScheduler Un FederatedComputeScheduler que muestra un trabajo de procesamiento federado de Google Cloud. 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 una tabla de pares clave-valor que el servicio puede usar para almacenar cualquier dato. El contenido de esta tabla es visible solo para el servicio que se ejecuta en un proceso aislado y no puede enviarse fuera del dispositivo.

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

Muestra
MutableKeyValueStore Un objeto MutableKeyValueStore que proporciona acceso a la tabla LOCAL_DATA. Los métodos en la MutableKeyValueStore que se muestra son operaciones de bloqueo. debe llamarse desde un subproceso de trabajo y 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: Es un token opaco que identifica la solicitud actual para el 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 la LogReader que se muestra son operaciones de bloqueo. debe llamarse desde un subproceso de trabajo y 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 de solo lectura un almacén de pares clave-valor que contiene datos que se descargan periódicamente de 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 para el servicio. Este valor no puede ser null.

Muestra
KeyValueStore Un objeto KeyValueStore que proporciona acceso a la tabla REMOTE_DATA. El de la KeyValueStore que se muestra son operaciones de bloqueo y deben se llama desde un subproceso de trabajo y 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 objeto UserData proporcionado por la plataforma para la solicitud actual.

Parámetros
requestToken RequestToken: Es un token opaco que identifica la solicitud actual para el 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 con 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 cualquier campo adicional que se incluyan 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 de los clientes.

Parámetros
requestToken RequestToken: Un token opaco que identifica la solicitud actual al servicio que se deben 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.