IsolatedWorker

public interface IsolatedWorker

android.adservices.ondevicepersonalization.IsolatedWorker


Schnittstelle mit Methoden, die implementiert werden müssen, um Anfragen vom Betriebssystem an einen IsolatedService zu verarbeiten. Der IsolatedService erstellt bei jeder Anfrage eine Instanz von IsolatedWorker und ruft je nach 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 Verbraucherparameter 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)

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

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

Verarbeitet eine Anfrage von einer App.

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

Generiert HTML für die Ergebnisse, die durch onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer) zurückgegeben wurden.

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

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

Öffentliche Methoden

onDownloadCompleted

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

Verarbeitet einen abgeschlossenen Download. Die Plattform lädt Inhalte mit den im Paketmanifest der IsolatedService definierten Parametern herunter, ruft diese Funktion nach Abschluss des Downloads auf und aktualisiert die Tabelle „REMOTE_DATA“ aus IsolatedService#getRemoteData(RequestToken) mit dem Ergebnis dieser Methode.

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

consumer Consumer: Callback, der das Ergebnis empfängt. Sollte bei einem Fehler mit null aufgerufen werden. Wenn er mit null aufgerufen wird, werden keine Änderungen an der Tabelle „REMOTE_DATA“ vorgenommen.

Wenn bei dieser Methode eine RuntimeException geworfen wird, werden keine Änderungen an der Tabelle REMOTE_DATA vorgenommen.

onEvent

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

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

Parameter
input EventInput: Die Parameter, die zum Berechnen von Ereignisdaten erforderlich sind. Dieser Wert darf nicht null sein.

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

Wenn diese Methode eine RuntimeException zurückgibt, werden keine Daten in die Tabelle „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 sich auf eine benannte IsolatedService bezieht.

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

consumer Consumer: Rückruf, der das Ergebnis ExecuteOutput empfängt. Sollte bei einem Fehler mit null aufgerufen werden. Der Fehler wird als OnDevicePersonalizationException mit dem Fehlercode OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED an die aufrufende App weitergegeben. Um das Risiko von Datenlecks an die anrufende App zu vermeiden, sind keine detaillierteren Fehlerberichte verfügbar. Wenn IsolatedService Fehlerstatistiken an sein Backend senden muss, sollte es ExecuteOutput mit Fehlerdaten für die Protokollierung füllen und die Fehlerberichte mithilfe von Federated Analytics zusammenführen.

Wenn diese Methode eine RuntimeException auslöst, wird dies auch als OnDevicePersonalizationException mit dem Fehlercode OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED an die aufrufenden Apps gemeldet.

onRender

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

Generiert HTML für die Ergebnisse, die durch onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer) zurückgegeben wurden. Wird aufgerufen, wenn eine Client-App OnDevicePersonalizationManager#requestSurfacePackage(SurfacePackageToken, IBinder, int, int, int, java.util.concurrent.Executor, OutcomeReceiver) aufruft. Die Plattform rendert diesen HTML-Code in einem WebView innerhalb eines abgegrenzten Frames.

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

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

Wenn diese Methode eine RuntimeException auslöst, wird dies auch als OnDevicePersonalizationException mit dem Fehlercode OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED an die aufrufenden Apps gemeldet.

onTrainingExample

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

Generieren Sie ein einzelnes Trainingsbeispiel, das für einen 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.