Isolierter Worker

public interface IsolatedWorker

android.adservices.ondevicepersonalization.IsolatedWorker


Schnittstelle mit Methoden, die implementiert werden müssen, um Anfragen vom Betriebssystem an einen IsolatedService zu verarbeiten. IsolatedService erstellt eine Instanz von IsolatedWorker auf jeder Anfrage und ruft abhängig vom Anfragetyp eine der folgenden Methoden auf. IsolatedService ruft die Methode in einem Binder-Thread auf und IsolatedWorker sollte lang andauernde Vorgänge in einen Worker-Thread verlagern. Der Consumer-Parameter jeder Methode wird verwendet. um Ergebnisse zurückzugeben.

Zusammenfassung

Öffentliche Methoden

default void onDownloadCompleted(DownloadCompletedInput input, Consumer<DownloadCompletedOutput> consumer)

Verarbeitet einen abgeschlossenen Download.

default void onEvent(EventInput input, Consumer<EventOutput> consumer)

Verarbeitet ein Ereignis, das durch eine Anfrage an die von der Plattform bereitgestellte Tracking-URL EventUrlProvider ausgelöst wird, die in die HTML-Ausgabe eingebettet war, die von onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer).

default void onExecute(ExecuteInput input, Consumer<ExecuteOutput> consumer)

Verarbeitet eine Anfrage von einer App.

default void onRender(RenderInput input, Consumer<RenderOutput> consumer)

Erzeugt HTML für die Ergebnisse, die als Ergebnis von onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer)

default void onTrainingExample(TrainingExampleInput input, Consumer<TrainingExampleOutput> consumer)

Generieren Sie ein einzelnes Trainingsbeispiel, das für den föderierten Berechnungsjob verwendet wird.

Öffentliche Methoden

onDownloadCompleted (Vorgang abgeschlossen)

public void onDownloadCompleted (DownloadCompletedInput input, 
                Consumer<DownloadCompletedOutput> consumer)

Verarbeitet einen abgeschlossenen Download. Die Plattform lädt Inhalte mit den in den Das Paketmanifest von IsolatedService; ruft diese Funktion nach dem Download auf abgeschlossen ist, und aktualisiert die Tabelle REMOTE_DATA IsolatedService#getRemoteData(RequestToken) durch das Ergebnis dieser Methode.

Parameter
input DownloadCompletedInput: Handler-Parameter herunterladen. Dieser Wert darf nicht null sein.

consumer Consumer: Callback, der das Ergebnis empfängt. Sollte mit null aufgerufen werden Fehler. Bei einem Aufruf mit null wird die Tabelle REMOTE_DATA nicht aktualisiert.

Wenn diese Methode einen RuntimeException auslöst, werden keine Aktualisierungen am REMOTE_DATA.

onEvent

public void onEvent (EventInput input, 
                Consumer<EventOutput> consumer)

Verarbeitet ein Ereignis, das durch eine Anfrage an die von der Plattform bereitgestellte Tracking-URL EventUrlProvider ausgelöst wird, die in die HTML-Ausgabe eingebettet war, die von onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer). Die Plattform aktualisiert die Tabelle EVENTS mit EventOutput#getEventLogRecord()

Parameter
input EventInput: Die zur Berechnung von Ereignisdaten erforderlichen Parameter. Dieser Wert darf nicht null sein.

consumer Consumer: Callback, der das Ergebnis empfängt. Sollte mit null aufgerufen werden Fehler. Beim Aufruf mit null werden keine Daten in die Tabelle EVENTS geschrieben.

Wenn diese Methode einen RuntimeException auslöst, werden keine Daten in die EVENTS geschrieben. .

onExecute

public void onExecute (ExecuteInput input, 
                Consumer<ExecuteOutput> consumer)

Verarbeitet eine Anfrage von einer App. Diese Methode wird aufgerufen, wenn eine App OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver) aufruft, die auf eine benannte IsolatedService.

Parameter
input ExecuteInput: Parameter aus der aufrufenden App anfordern. Dieser Wert darf nicht null sein.

consumer Consumer: Callback, der das Ergebnis ExecuteOutput empfängt. Sollte aufgerufen werden mit null bei einem Fehler. Der Fehler wird an die aufrufende App als OnDevicePersonalizationException mit Fehlercode OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED. Um Datenlecks zu vermeiden an die Anruf-App übertragen, sind keine detaillierteren Fehlerberichte verfügbar. Wenn das IsolatedService Fehlerstatistiken an sein Backend melden muss, sollte es ExecuteOutput für die Protokollierung mit Fehlerdaten füllen und auf Federated Analytics zurückgreifen, um sie zu aggregieren Fehlerberichte.

Wenn diese Methode einen RuntimeException auslöst, wird dies auch an Apps werden als OnDevicePersonalizationException mit Fehlercode OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED aufgerufen.

onRender

public void onRender (RenderInput input, 
                Consumer<RenderOutput> consumer)

Erzeugt HTML für die Ergebnisse, die als Ergebnis von onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer) Wird aufgerufen, wenn eine Client-App aufruft OnDevicePersonalizationManager#requestSurfacePackage(SurfacePackageToken, IBinder, int, int, int, java.util.concurrent.Executor, OutcomeReceiver) Die Plattform rendert diesen HTML-Code in einem WebView innerhalb eines Fencing-Elements Frame.

Parameter
input RenderInput: Parameter für die Renderinganfrage. Dieser Wert darf nicht null sein.

consumer Consumer: Callback, der das Ergebnis empfängt. Sollte mit null aufgerufen werden Fehler. Der Fehler wird als OnDevicePersonalizationException mit Fehlercode OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED an die aufrufende Anwendung weitergegeben.

Wenn diese Methode einen RuntimeException ausgibt, wird dies auch an den Aufruf von Apps als OnDevicePersonalizationException mit Fehlercode OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED.

onTrainingExample

public void onTrainingExample (TrainingExampleInput input, 
                Consumer<TrainingExampleOutput> consumer)

Generieren Sie ein einzelnes Trainingsbeispiel, das für den föderierten Berechnungsjob verwendet wird.

Parameter
input TrainingExampleInput: Die zum Generieren des Trainingsbeispiels erforderlichen Parameter. Dieser Wert darf nicht null sein.

consumer Consumer: Callback, der nach Abschluss aufgerufen werden soll. Dieser Wert darf nicht null sein.