Izolowana instancja robocza
public
interface
IsolatedWorker
android.adservices.ondevicepersonalization.IsolatedWorker, |
Interfejs z metodami, które należy wdrożyć do obsługi żądań z systemu operacyjnego wysyłanego do IsolatedService
. IsolatedService
tworzy instancję IsolatedWorker
na
w zależności od typu żądania i wywołuje jedną z poniższych metod. IsolatedService
wywołuje metodę w wątku Binder, a IsolatedWorker
powinien
przenieść długotrwałe operacje do wątku instancji roboczej. Używany jest parametr konsumenta każdej metody,
.
Podsumowanie
Metody publiczne | |
---|---|
default
void
|
onDownloadCompleted(DownloadCompletedInput input, Consumer<DownloadCompletedOutput> consumer)
Obsługi ukończone pobieranie. |
default
void
|
onEvent(EventInput input, Consumer<EventOutput> consumer)
Obsługuje zdarzenie wywołane przez żądanie wysyłane do linku monitorującego |
default
void
|
onExecute(ExecuteInput input, Consumer<ExecuteOutput> consumer)
Obsługuje żądania z aplikacji. |
default
void
|
onRender(RenderInput input, Consumer<RenderOutput> consumer)
Generuje kod HTML dla wyników zwróconych w wyniku
|
default
void
|
onTrainingExample(TrainingExampleInput input, Consumer<TrainingExampleOutput> consumer)
Wygeneruj jeden przykład trenowania używany na potrzeby sfederowanego zadania obliczeniowego. |
Metody publiczne
onDownloadUkończono
public void onDownloadCompleted (DownloadCompletedInput input, Consumer<DownloadCompletedOutput> consumer)
Obsługi ukończone pobieranie. Platforma pobiera treści przy użyciu parametrów zdefiniowanych w
plik manifestu pakietu IsolatedService
, wywołuje tę funkcję po pobraniu.
jest zakończona i aktualizuje tabelę REMOTE_DATA z
IsolatedService#getRemoteData(RequestToken)
z wynikiem tej metody.
Parametry | |
---|---|
input |
DownloadCompletedInput : parametry modułu obsługi pobierania.
Ta wartość nie może być typu null . |
consumer |
Consumer : wywołanie zwrotne, do którego otrzymano wynik. powinno zostać nawiązane przy użyciu funkcji null .
błąd. Jeśli zostanie wywołana za pomocą funkcji null , tabela REMOTE_DATA nie będzie aktualizowana.
Jeśli ta metoda zgłasza żądanie |
onEvent
public void onEvent (EventInput input, Consumer<EventOutput> consumer)
Obsługuje zdarzenie wywołane 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)
Platforma aktualizuje tabelę ZDARZENIA
EventOutput#getEventLogRecord()
Parametry | |
---|---|
input |
EventInput : parametry potrzebne do obliczania danych zdarzenia.
Ta wartość nie może być typu null . |
consumer |
Consumer : wywołanie zwrotne, do którego otrzymano wynik. powinno zostać nawiązane przy użyciu funkcji null .
błąd. Jeśli wywołasz funkcję null , w tabeli EVENTS nie będą zapisywane żadne dane.
Jeśli ta metoda zgłasza zdarzenie |
onExecute
public void onExecute (ExecuteInput input, Consumer<ExecuteOutput> consumer)
Obsługuje żądania z aplikacji. Ta metoda jest wywoływana, gdy aplikacja wywołuje metodę OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle,
java.util.concurrent.Executor, OutcomeReceiver)
odwołującą się do nazwanego
IsolatedService
Parametry | |
---|---|
input |
ExecuteInput : żądanie parametrów z aplikacji do połączeń.
Ta wartość nie może być typu null . |
consumer |
Consumer : wywołanie zwrotne, do którego otrzymano wynik ExecuteOutput . Należy nazwać
z błędem: null . Informacje o błędzie są przekazywane 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ń, szczegółowe informacje o błędach nie są dostępne. Jeśli IsolatedService musi raportować statystyki błędów do swojego backendu, powinien wypełnić ExecuteOutput danymi o błędach do logowania i wykorzystywać do agregacji Federated Analytics
z raportów o błędach.
Jeśli ta metoda zgłasza zdarzenie |
onRender
public void onRender (RenderInput input, Consumer<RenderOutput> consumer)
Generuje kod HTML dla wyników zwróconych w wyniku
onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer)
Wywoływane, gdy dzwoni aplikacja klienta
OnDevicePersonalizationManager#requestSurfacePackage(SurfacePackageToken, IBinder, int, int, int, java.util.concurrent.Executor, OutcomeReceiver)
Platforma wyrenderuje ten kod HTML w elemencie WebView
wewnątrz ogrodzonego
ramki.
Parametry | |
---|---|
input |
RenderInput : parametry żądania renderowania.
Ta wartość nie może być typu null . |
consumer |
Consumer : wywołanie zwrotne, do którego otrzymano wynik. powinno zostać nawiązane przy użyciu funkcji null .
błąd. Informacje o błędzie są przekazywane do aplikacji wywołującej jako kod OnDevicePersonalizationException z kodem błędu OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED .
Jeśli ta metoda zgłasza zdarzenie |
onTrainingExample
public void onTrainingExample (TrainingExampleInput input, Consumer<TrainingExampleOutput> consumer)
Wygeneruj jeden przykład trenowania używany na potrzeby sfederowanego zadania obliczeniowego.
Parametry | |
---|---|
input |
TrainingExampleInput : parametry potrzebne do wygenerowania przykładowego trenowania.
Ta wartość nie może być typu null . |
consumer |
Consumer : wywołanie zwrotne do wywołania po zakończeniu.
Ta wartość nie może być typu null . |