IsolatedService

public abstract class IsolatedService
extends Service

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


Classe di base per i servizi avviati da ODP su una chiamata a OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver) e eseguiti in un processo distinto. Il servizio può produrre contenuti da visualizzare in un SurfaceView in un'app chiamante e scrivere risultati permanenti nello spazio di archiviazione sul dispositivo, che possono essere utilizzati da Federated Analytics per l'analisi statistica cross-device o da Federated Learning per l'addestramento dei modelli. Le app client utilizzano OnDevicePersonalizationManager per interagire con un IsolatedService.

Riepilogo

Costanti ereditate

Costruttori pubblici

IsolatedService()

Metodi pubblici

final EventUrlProvider getEventUrlProvider(RequestToken requestToken)

Restituisce un valore EventUrlProvider per la richiesta corrente.

final FederatedComputeScheduler getFederatedComputeScheduler(RequestToken requestToken)

Restituisce un valore FederatedComputeScheduler per la richiesta corrente.

final MutableKeyValueStore getLocalData(RequestToken requestToken)

Restituisce un oggetto di accesso ai dati per la tabella LOCAL_DATA.

final LogReader getLogReader(RequestToken requestToken)

Restituisce un DAO per le tabelle REQUESTS ed EVENTS che fornisce accesso alle righe leggibili da IsolatedService.

final KeyValueStore getRemoteData(RequestToken requestToken)

Restituisce un oggetto di accesso ai dati per la tabella REMOTE_DATA.

final UserData getUserData(RequestToken requestToken)

Restituisce il UserData fornito dalla piattaforma per la richiesta corrente.

IBinder onBind(Intent intent)

Gestisce l'associazione a IsolatedService.

void onCreate()

Crea un rilegatore per un IsolatedService.

abstract IsolatedWorker onRequest(RequestToken requestToken)

Restituisce un'istanza di un IsolatedWorker che gestisce le richieste dei client.

Metodi ereditati

Costruttori pubblici

IsolatedService

public IsolatedService ()

Metodi pubblici

getEventUrlProvider

public final EventUrlProvider getEventUrlProvider (RequestToken requestToken)

Restituisce un EventUrlProvider per la richiesta corrente. EventUrlProvider fornisce gli URL che possono essere incorporati in HTML. Quando il codice HTML viene visualizzato in un WebView, la piattaforma intercetta le richieste a questi URL e richiama IsolatedWorker#onEvent(EventInput, Consumer).

Parametri
requestToken RequestToken: un token opaco che identifica la richiesta corrente al servizio. Questo valore non può essere null.

Ritorni
EventUrlProvider Un EventUrlProvider che restituisce gli URL di monitoraggio degli eventi. Questo valore non può essere null.

getFederatedComputeScheduler

public final FederatedComputeScheduler getFederatedComputeScheduler (RequestToken requestToken)

Restituisce un FederatedComputeScheduler per la richiesta corrente. FederatedComputeScheduler può essere utilizzato per pianificare e annullare i job di calcolo federato. Il calcolo federato include l'apprendimento federato e i job di analisi federata.

Parametri
requestToken RequestToken: un token opaco che identifica la richiesta corrente al servizio. Questo valore non può essere null.

Ritorni
FederatedComputeScheduler Un FederatedComputeScheduler che restituisce uno scheduler di job di calcolo federato. Questo valore non può essere null.

getLocalData

public final MutableKeyValueStore getLocalData (RequestToken requestToken)

Restituisce un oggetto di accesso ai dati per la tabella LOCAL_DATA. La tabella LOCAL_DATA è un archivio di coppie chiave-valore permanente che il servizio può utilizzare per archiviare qualsiasi dato. I contenuti di questa tabella sono visibili solo al servizio in esecuzione in un processo isolato e non possono essere inviati al di fuori del dispositivo.

Parametri
requestToken RequestToken: un token opaco che identifica la richiesta corrente al servizio. Questo valore non può essere null.

Ritorni
MutableKeyValueStore Un oggetto MutableKeyValueStore che fornisce l'accesso alla tabella LOCAL_DATA. I metodi nell'oggetto MutableKeyValueStore restituito sono operazioni di blocco e devono essere chiamati da un thread di lavoro e non dal thread principale o da un thread Binder. Questo valore non può essere null.

LettorediLog

public final LogReader getLogReader (RequestToken requestToken)

Restituisce un DAO per le tabelle REQUESTS ed EVENTS che fornisce accesso alle righe leggibili da IsolatedService.

Parametri
requestToken RequestToken: un token opaco che identifica la richiesta corrente al servizio. Questo valore non può essere null.

Ritorni
LogReader Un oggetto LogReader che fornisce l'accesso alle tabelle REQUESTS ed EVENTS. I metodi nell'oggetto LogReader restituito sono operazioni di blocco e devono essere chiamati da un thread di lavoro e non dal thread principale o da un thread Binder. Questo valore non può essere null.

getRemoteData

public final KeyValueStore getRemoteData (RequestToken requestToken)

Restituisce un oggetto Data Access per la tabella REMOTE_DATA. La tabella REMOTE_DATA è un insieme di dati chiave-valore di sola lettura che contiene i dati scaricati periodicamente da un endpoint dichiarato nel tag nel manifest ODP del servizio, come mostrato nell'esempio seguente.

<!-- 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>
 

Parametri
requestToken RequestToken: un token opaco che identifica la richiesta corrente al servizio. Questo valore non può essere null.

Ritorni
KeyValueStore Un oggetto KeyValueStore che fornisce l'accesso alla tabella REMOTE_DATA. I metodi nell'oggetto KeyValueStore restituito sono operazioni di blocco e devono essere chiamati da un thread di lavoro e non dal thread principale o da un thread Binder. Questo valore non può essere null.

recuperaDatiUtente

public final UserData getUserData (RequestToken requestToken)

Restituisce il valore UserData fornito dalla piattaforma per la richiesta corrente.

Parametri
requestToken RequestToken: un token opaco che identifica la richiesta corrente al servizio. Questo valore non può essere null.

Ritorni
UserData Un oggetto UserData. Questo valore può essere null.

onBind

public IBinder onBind (Intent intent)

Gestisce l'associazione a IsolatedService.

Parametri
intent Intent: l'intent utilizzato per eseguire il binding a questo servizio, come specificato a Context.bindService. Tieni presente che eventuali extra inclusi con l'intent a quel punto non verranno visualizzati qui. Questo valore non può essere null.

Ritorni
IBinder Questo valore può essere null.

onCreate

public void onCreate ()

Crea un raccoglitore per un IsolatedService.

onRequest

public abstract IsolatedWorker onRequest (RequestToken requestToken)

Restituisce un'istanza di un IsolatedWorker che gestisce le richieste del client.

Parametri
requestToken RequestToken: un token opaco che identifica la richiesta attuale al servizio che deve essere passata ai metodi del servizio che dipendono dallo stato della richiesta. Questo valore non può essere null.

Ritorni
IsolatedWorker Questo valore non può essere null.