Isolierter Dienst

public abstract class IsolatedService
extends Service

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


Basisklasse für Dienste, die über ODP bei einem Aufruf bei gestartet werden OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver) und laufen in einem isolierten . Der Dienst kann Inhalte generieren, die in einem SurfaceView in einer aufrufenden App und schreibt dauerhafte Ergebnisse auf das Gerät die von Federated Analytics für geräteübergreifende statistische Analysen genutzt werden können, von Federated Learning für das Modelltraining. Client-Apps verwenden OnDevicePersonalizationManager, um mit einem IsolatedService zu interagieren.

Zusammenfassung

Übernommene Konstanten

Öffentliche Konstruktoren

IsolatedService()

Öffentliche Methoden

final EventUrlProvider getEventUrlProvider(RequestToken requestToken)

Gibt ein EventUrlProvider für die aktuelle Anfrage zurück.

final FederatedComputeScheduler getFederatedComputeScheduler(RequestToken requestToken)

Gibt ein FederatedComputeScheduler für die aktuelle Anfrage zurück.

final MutableKeyValueStore getLocalData(RequestToken requestToken)

Gibt ein Datenzugriffsobjekt für die Tabelle LOCAL_DATA zurück.

final LogReader getLogReader(RequestToken requestToken)

Gibt einen DAO für die REQUESTS- und EVENTS-Tabellen zurück, die Zugriff auf die Zeilen, die für den IsolatedService lesbar sind.

final KeyValueStore getRemoteData(RequestToken requestToken)

Gibt ein Datenzugriffsobjekt für die Tabelle REMOTE_DATA zurück.

final UserData getUserData(RequestToken requestToken)

Gibt das von der Plattform bereitgestellte UserData für die aktuelle Anfrage zurück.

IBinder onBind(Intent intent)

Handles zur Bindung an IsolatedService.

void onCreate()

Erstellt eine Binde für ein IsolatedService.

abstract IsolatedWorker onRequest(RequestToken requestToken)

Gibt eine Instanz einer IsolatedWorker zurück, die Clientanfragen verarbeitet.

Übernommene Methoden

Öffentliche Konstruktoren

Isolierter Dienst

public IsolatedService ()

Öffentliche Methoden

getEventUrlProvider

public final EventUrlProvider getEventUrlProvider (RequestToken requestToken)

Gibt ein EventUrlProvider für die aktuelle Anfrage zurück. Das EventUrlProvider stellt URLs bereit, die in HTML eingebettet werden können. Wenn der HTML-Code in einem WebView, fängt die Plattform Anfragen an diese URLs ab und ruft IsolatedWorker#onEvent(EventInput, Consumer).

Parameter
requestToken RequestToken: Ein intransparentes Token, das die aktuelle Anfrage an den Dienst identifiziert. Dieser Wert darf nicht null sein.

Returns
EventUrlProvider Ein EventUrlProvider, das Ereignis-Tracking-URLs zurückgibt. Dieser Wert darf nicht null sein.

Weitere Informationen:

getFederatedComputeScheduler

public final FederatedComputeScheduler getFederatedComputeScheduler (RequestToken requestToken)

Gibt ein FederatedComputeScheduler für die aktuelle Anfrage zurück. Mit FederatedComputeScheduler können föderierte Berechnungsjobs geplant und abgebrochen werden. Die föderierte Berechnung umfasst föderiertes Lernen und föderierte Analysejobs.

Parameter
requestToken RequestToken: Ein intransparentes Token, das die aktuelle Anfrage an den Dienst identifiziert. Dieser Wert darf nicht null sein.

Returns
FederatedComputeScheduler Ein FederatedComputeScheduler, das einen föderierten Berechnungsjob zurückgibt Planer. Dieser Wert darf nicht null sein.

Weitere Informationen:

getLocalData

public final MutableKeyValueStore getLocalData (RequestToken requestToken)

Gibt ein Datenzugriffsobjekt für die Tabelle LOCAL_DATA zurück. Die Tabelle LOCAL_DATA ist eine persistente Schlüsselwertspeicher, den der Dienst zum Speichern beliebiger Daten verwenden kann. Der Inhalt dieser Tabelle ist sind nur für den Dienst sichtbar, der in einem isolierten Prozess ausgeführt wird, und können nicht außerhalb des .

Parameter
requestToken RequestToken: Ein intransparentes Token, das die aktuelle Anfrage an den Dienst identifiziert. Dieser Wert darf nicht null sein.

Returns
MutableKeyValueStore Ein MutableKeyValueStore-Objekt, das Zugriff auf die Tabelle LOCAL_DATA bietet. Die Methoden im zurückgegebenen MutableKeyValueStore blockieren Vorgänge und sollte von einem Worker-Thread und nicht aus dem Hauptthread oder einem Binderthread aufgerufen werden. Dieser Wert darf nicht null sein.

Weitere Informationen:

getLogReader

public final LogReader getLogReader (RequestToken requestToken)

Gibt einen DAO für die REQUESTS- und EVENTS-Tabellen zurück, die Zugriff auf die Zeilen, die für den IsolatedService lesbar sind.

Parameter
requestToken RequestToken: Ein intransparentes Token, das die aktuelle Anfrage an den Dienst identifiziert. Dieser Wert darf nicht null sein.

Returns
LogReader Ein LogReader-Objekt, das Zugriff auf die Tabelle REQUESTS und EVENTS bietet. Die Methoden im zurückgegebenen LogReader blockieren Vorgänge und sollte von einem Worker-Thread und nicht aus dem Hauptthread oder einem Binderthread aufgerufen werden. Dieser Wert darf nicht null sein.

Weitere Informationen:

GetRemoteData

public final KeyValueStore getRemoteData (RequestToken requestToken)

Gibt ein Datenzugriffsobjekt für die Tabelle REMOTE_DATA zurück. Die Tabelle REMOTE_DATA ist schreibgeschützt Schlüssel/Wert-Speicher, der Daten enthält, die regelmäßig von einem deklarierten Endpunkt heruntergeladen werden im -Tag des ODP-Manifests des Dienstes, wie im folgenden Beispiel gezeigt.

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

Parameter
requestToken RequestToken: Ein intransparentes Token, das die aktuelle Anfrage an den Dienst identifiziert. Dieser Wert darf nicht null sein.

Returns
KeyValueStore Ein KeyValueStore-Objekt, das Zugriff auf die Tabelle REMOTE_DATA bietet. Die Methoden im zurückgegebenen KeyValueStore blockieren Vorgänge und sollten aus einem Worker-Thread und nicht aus dem Hauptthread oder einem Binderthread aufgerufen wird. Dieser Wert darf nicht null sein.

Weitere Informationen:

getUserData

public final UserData getUserData (RequestToken requestToken)

Gibt das von der Plattform bereitgestellte UserData für die aktuelle Anfrage zurück.

Parameter
requestToken RequestToken: Ein intransparentes Token, das die aktuelle Anfrage an den Dienst identifiziert. Dieser Wert darf nicht null sein.

Returns
UserData Ein UserData-Objekt. Dieser Wert kann null sein.

Weitere Informationen:

OnBind

public IBinder onBind (Intent intent)

Handles zur Bindung an IsolatedService.

Parameter
intent Intent: Der Intent, der zur Bindung an diesen Dienst verwendet wurde und an Context.bindService übergeben wurde. Beachten Sie, dass alle Extras, die im Intent enthalten sind, sind hier nicht zu sehen. Dieser Wert darf nicht null sein.

Returns
IBinder Dieser Wert kann null sein.

onCreate

public void onCreate ()

Erstellt eine Binde für ein IsolatedService.

onRequest

public abstract IsolatedWorker onRequest (RequestToken requestToken)

Gibt eine Instanz einer IsolatedWorker zurück, die Clientanfragen verarbeitet.

Parameter
requestToken RequestToken: ein intransparentes Token, das die aktuelle Anfrage an den Dienst identifiziert, die an Dienstmethoden übergeben werden müssen, die vom Status der jeweiligen Anfrage abhängen. Dieser Wert darf nicht null sein.

Returns
IsolatedWorker Dieser Wert darf nicht null sein.