Izolowana instancja robocza

public interface IsolatedWorker

android.adservices.ondevicepersonalization.IsolatedWorker


Interfejs metod, które należy zaimplementować, aby obsługiwać żądania z systemu operacyjnego do IsolatedService. IsolatedService tworzy instancję IsolatedWorker w każdym żądaniu i wywołuje jedną z poniższych metod, w zależności od typu żądania. Funkcja IsolatedService wywołuje metodę na wątku Bindera, a funkcja IsolatedWorker powinna przekazać długotrwałe operacje do wątku roboczego. Do zwracania wyników używany jest parametr consumer każdej metody.

Podsumowanie

Metody publiczne

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

Obsługuje zakończone pobieranie.

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

Obsługuje zdarzenie wywoływane przez żądanie wysyłane do linku monitorującego EventUrlProvider udostępnionego przez platformę, który został umieszczony w danych wyjściowych HTML zwróconych przez onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer).

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

Obsługuje żądanie z aplikacji.

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

Generuje kod HTML dla wyników zwróconych przez funkcję onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer).

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

wygenerować pojedynczy przykład treningowy używany do zadania obliczeń sfederowanych;

Metody publiczne

onDownloadCompleted

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

Obsługuje zakończone pobieranie. Platforma pobiera treści za pomocą parametrów zdefiniowanych w pliku manifestu pakietu IsolatedService, wywołuje tę funkcję po zakończeniu pobierania i aktualizuje tabelę REMOTE_DATA z IsolatedService#getRemoteData(RequestToken) za pomocą wyniku tej metody.

Parametry
input DownloadCompletedInput: parametry modułu obsługi pobierania. Ta wartość nie może być null.

consumer Consumer: funkcja wywołania zwrotnego, która odbiera wynik. Powinna zostać wywołana z kodem null w przypadku błędu. Jeśli wywołana jest z parametrem null, w tabeli REMOTE_DATA nie są wprowadzane żadne zmiany.

Jeśli ta metoda zgłasza żądanie RuntimeException, tabela REMOTE_DATA nie jest aktualizowana.

onEvent

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

Obsługuje zdarzenie wywołane przez żądanie wysłane do linku monitorującego udostępnionego przez platformę EventUrlProvider, który został umieszczony w wyjściowym kodzie HTML zwróconym przez funkcję onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer). Platforma aktualizuje tabelę EVENTS za pomocą wartości EventOutput#getEventLogRecord().

Parametry
input EventInput: parametry potrzebne do obliczania danych zdarzenia. Ta wartość nie może być null.

consumer Consumer: funkcja wywołania zwrotnego, która odbiera wynik. Powinna zostać wywołana z kodem null w przypadku błędu. Jeśli wywołasz funkcję null, w tabeli EVENTS nie będą zapisywane żadne dane.

Jeśli ta metoda zwróci wartość RuntimeException, żadne dane nie zostaną zapisane w tabeli EVENTS.

onExecute

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

Obsługuje żądanie z aplikacji. Ta metoda jest wywoływana, gdy aplikacja wywołuje OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver), która odnosi się do nazwanego obiektu IsolatedService.

Parametry
input ExecuteInput: parametry żądania z aplikacji wywołującej. Ta wartość nie może być null.

consumer Consumer: funkcja wywołania zwrotnego, która otrzymuje parametr ExecuteOutput. Powinien być wywoływany z argumentem null w przypadku błędu. Błąd jest przekazywany do aplikacji wywołującej jako plik OnDevicePersonalizationException z kodem błędu OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED. Aby uniknąć wycieku danych prywatnych do aplikacji do połączeń, bardziej szczegółowe raportowanie błędów jest niedostępne. Jeśli usługa IsolatedService musi przekazywać statystyki błędów do backendu, powinna wypełnić ExecuteOutput danymi o błędach na potrzeby rejestrowania i używać zintegrowanego z usługą Federated Analytics do agregowania raportów o błędach.

Jeśli ta metoda zgłasza błąd RuntimeException, jest on również zgłaszany do wywoływania aplikacji jako OnDevicePersonalizationException z kodem błędu OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED.

onRender

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

Generuje kod HTML dla wyników zwróconych przez funkcję onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer). Wywoływane, gdy aplikacja klienta wywołuje OnDevicePersonalizationManager#requestSurfacePackage(SurfacePackageToken, IBinder, int, int, int, java.util.concurrent.Executor, OutcomeReceiver). Platforma wyrenderuje ten kod HTML w elemencie WebView w zabezpieczonej ramce.

Parametry
input RenderInput: parametry żądania renderowania. Ta wartość nie może być null.

consumer Consumer: funkcja wywołania zwrotnego, która odbiera wynik. Powinna zostać wywołana z kodem null w przypadku błędu. Błąd jest przekazywany do aplikacji wywołującej jako OnDevicePersonalizationException z kodem błędu OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED.

Jeśli ta metoda zgłasza RuntimeException, jest on również zgłaszany do wywoływania aplikacji jako OnDevicePersonalizationException z kodem błędu OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED.

onTrainingExample

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

wygenerować pojedynczy przykład treningowy używany do zadania obliczeń sfederowanych;

Parametry
input TrainingExampleInput: parametry potrzebne do wygenerowania przykładu do trenowania. Ta wartość nie może być null.

consumer Consumer: wywołanie zwrotne, które zostanie wywołane po zakończeniu. Ta wartość nie może być null.