OnDevicePersonalizationManager

public class OnDevicePersonalizationManager
extends Object

java.lang.Object
android.adservices.ondevicepersonalization.OnDevicePersonalizationManager


OnDevicePersonalizationManager udostępnia interfejsy API, które pozwalają aplikacjom IsolatedService w osobnym procesie i wchodź z nim w interakcję. Aplikacja może poprosić o IsolatedService, aby wygenerować treści do wyświetlenia. w obrębie SurfaceView w hierarchii widoków aplikacji, a także zapisz trwałe wyniki w pamięci urządzenia, które mogą być wykorzystywane przez Federated Analytics dla analiza statystyczna na różnych urządzeniach lub za pomocą sfederowanego uczenia się na potrzeby trenowania modeli. Wyświetlane ani trwałe dane wyjściowe nie są bezpośrednio dostępne dla aplikacji wywołującej.

Podsumowanie

Metody publiczne

void execute(ComponentName handler, PersistableBundle params, Executor executor, OutcomeReceiver<List<SurfacePackageToken>, Exception> receiver)

Wykonuje polecenie IsolatedService w piaskownicy OnDevicePersonalization.

void requestSurfacePackage(SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackageException> receiver)

Wymaga wstawienia SurfaceControlViewHost.SurfacePackage do SurfaceView w aplikacji do rozmów.

Metody dziedziczone

Metody publiczne

Wykonaj

public void execute (ComponentName handler, 
                PersistableBundle params, 
                Executor executor, 
                OutcomeReceiver<List<SurfacePackageToken>, Exception> receiver)

Wykonuje polecenie IsolatedService w piaskownicy OnDevicePersonalization. platforma łączy się z określonym IsolatedService w izolowanym procesie i dzwoni pod numer IsolatedWorker#onExecute(ExecuteInput, java.util.function.Consumer) z parametrami podanymi przez wywołującego. Gdy IsolatedService zakończy wykonywanie, platforma zwraca tokeny odwołujące się do wyników usługi. Tokenów tych można później używać do wyświetlania wyników w SurfaceView w aplikacji do rozmów.

Parametry
handler ComponentName: ComponentName elementu IsolatedService. Ta wartość nie może być typu null.

params PersistableBundle: pole PersistableBundle przekazywane z aplikacji do połączeń do IsolatedService Określono oczekiwaną zawartość tego parametru przez IsolatedService. Platforma nie interpretuje tego parametru. Ta wartość nie może być typu null.

executor Executor: element Executor, dla którego ma zostać wywołane wywołanie zwrotne. Ta wartość nie może być typu null. Za pomocą tego interfejsu są wysyłane zdarzenia wywołania zwrotnego i detektora Executor, co pozwala łatwo kontrolować, który wątek jest . Aby wysyłać zdarzenia przez wątek główny aplikacji, możesz użyć Context.getMainExecutor() W przeciwnym razie podaj Executor, który wysyła do odpowiedniego wątku.

receiver OutcomeReceiver: zwraca listę obiektów SurfacePackageToken, z których każdy jest nieprzejrzyste odwołanie do elementu RenderingConfig zwróconego przez IsolatedService lub Exception w przypadku niepowodzenia. Zwrócone wartości SurfacePackageToken obiektów można użyć w kolejnych requestSurfacePackage(android.adservices.ondevicepersonalization.SurfacePackageToken, android.os.IBinder, int, int, int, java.util.concurrent.Executor, android.os.OutcomeReceiver) do wyświetlenia wyniku w widoku. Aplikacja do rozmów oraz IsolatedService musi pasować do oczekiwanego rozmiaru tej listy. Wpis na zwróconej liście obiektów SurfacePackageToken może mieć wartość null wskazują, że usługa nie ma danych wyjściowych dla danej platformy. W przypadku błędu odbiorca zwraca jeden z tych wyjątków: Zwraca PackageManager.NameNotFoundException, jeśli moduł obsługi pakiet nie jest zainstalowany lub nie ma prawidłowego pliku manifestu ODP. Zwraca ClassNotFoundException, jeśli nie znaleziono klasy modułu. Zwraca OnDevicePersonalizationException, jeśli wykonanie modułu obsługi się nie powiedzie.

requestSurfacePackage

public void requestSurfacePackage (SurfacePackageToken surfacePackageToken, 
                IBinder surfaceViewHostToken, 
                int displayId, 
                int width, 
                int height, 
                Executor executor, 
                OutcomeReceiver<SurfaceControlViewHost.SurfacePackageException> receiver)

Wymaga wstawienia SurfaceControlViewHost.SurfacePackage do SurfaceView w aplikacji do rozmów. Pakiet powierzchni będzie zawierał View z treścią z poprzedniego wywołania do #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver) działa w w piaskownicy OnDevicePersonalization.

Parametry
surfacePackageToken SurfacePackageToken: odwołanie do elementu SurfacePackageToken zwróconego przez wcześniejszy połączenie z numerem #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver). Ta wartość nie może być typu null.

surfaceViewHostToken IBinder: hostToken obiektu SurfaceView, który jest zwrócone przez SurfaceView.getHostToken() po Element SurfaceView został dodany do hierarchii widoków. Ta wartość nie może być typu null.

displayId int: identyfikator całościowy wyświetlacza logicznego, na którym ma być wyświetlany SurfaceControlViewHost.SurfacePackage, zwrócone przez Context.getDisplay().getDisplayId()

width int: szerokość SurfaceControlViewHost.SurfacePackage w pikselach.

height int: wysokość SurfaceControlViewHost.SurfacePackage w pikselach.

executor Executor: pole Executor, które ma wywołać wywołanie zwrotne Ta wartość nie może być null. Za pomocą tego interfejsu są wysyłane zdarzenia wywołania zwrotnego i detektora Executor, co pozwala łatwo kontrolować, który wątek jest . Aby wysyłać zdarzenia przez wątek główny aplikacji, możesz użyć Context.getMainExecutor() W przeciwnym razie podaj Executor, który wysyła do odpowiedniego wątku.

receiver OutcomeReceiver: to powoduje zwrócenie SurfaceControlViewHost.SurfacePackage w przypadku powodzenia lub Exception w przypadku niepowodzenia. Typ wyjątku to OnDevicePersonalizationException, jeśli wykonanie modułu obsługi się nie powiedzie. Ta wartość nie może być typu null.