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 |
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ę |
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 |
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ść |
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 |
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 |
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 . |