IsolatedService

public abstract class IsolatedService
extends Service

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


Classe base per i servizi avviati da ODP durante una chiamata a OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver) e vengono eseguiti in un ambiente isolato di sicurezza. Il servizio può produrre contenuti da visualizzare in un SurfaceView in un'app di chiamata e scrivi risultati permanenti sul dispositivo di archiviazione, che può essere utilizzato da Federated Analytics per analisi statistiche cross-device o da Federated Learning per l'addestramento del modello. Le app client utilizzano OnDevicePersonalizationManager per interagire con 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 l'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 valore UserData fornito dalla piattaforma per la richiesta corrente.

IBinder onBind(Intent intent)

Gestisce l'associazione a IsolatedService.

void onCreate()

Crea un raccoglitore per un IsolatedService.

abstract IsolatedWorker onRequest(RequestToken requestToken)

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

Metodi ereditati

Costruttori pubblici

IsolatedService

public IsolatedService ()

Metodi pubblici

getEventUrlProvider

public final EventUrlProvider getEventUrlProvider (RequestToken requestToken)

Restituisce un valore EventUrlProvider per la richiesta corrente. EventUrlProvider fornisce URL che possono essere incorporati nel codice HTML. Quando il codice HTML viene visualizzato in 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 valore FederatedComputeScheduler per la richiesta corrente. FederatedComputeScheduler può essere utilizzato per pianificare e annullare i job di calcolo federato. La il calcolo federato include l'apprendimento federato e i job di analisi federati.

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 un job di calcolo federato scheduler. 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 oggetto un archivio chiave-valore che il servizio può utilizzare per memorizzare qualsiasi dato. I contenuti di questa tabella sono visibile solo al servizio in esecuzione in un processo isolato e non può essere inviato all'esterno di 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'attributo MutableKeyValueStore restituito stanno bloccando le operazioni e deve essere chiamato da un thread worker 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 l'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 alla tabella REQUESTS ed EVENTS. I metodi nell'attributo LogReader restituito stanno bloccando le operazioni e deve essere chiamato da un thread worker 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 di accesso ai dati per la tabella REMOTE_DATA. La tabella REMOTE_DATA è di sola lettura archivio di coppie chiave-valore che contiene 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. La nell'attributo KeyValueStore restituito stanno bloccando operazioni e dovrebbero essere chiamato da un thread worker 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 l'associazione a questo servizio assegnato a Context.bindService. Tieni presente che gli eventuali extra inclusi nell'intent a quel punto non saranno visibili qui. Questo valore non può essere null.

Ritorni
IBinder Questo valore può essere null.

onCrea

public void onCreate ()

Crea un raccoglitore per un IsolatedService.

su richiesta

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 corrente al servizio che devono essere passati ai metodi del servizio che dipendono dallo stato della richiesta. Questo valore non può essere null.

Ritorni
IsolatedWorker Questo valore non può essere null.