OnDevicePersonalizationManager

public class OnDevicePersonalizationManager
extends Object

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


OnDevicePersonalizationManager stellt APIs zum Laden eines IsolatedService in einem isolierten Prozess und interagieren mit ihm. Eine App kann ein IsolatedService anfordern, um anzuzeigende Inhalte zu generieren innerhalb einer SurfaceView in der Ansichtshierarchie der App dauerhafte Ergebnisse beim On-Device-Speicher, der von Federated Analytics genutzt werden kann geräteübergreifende statistische Analyse oder durch föderiertes Lernen für das Modelltraining. Das angezeigte Der Inhalt und die dauerhafte Ausgabe sind für die aufrufende App nicht direkt zugänglich.

Zusammenfassung

Öffentliche Methoden

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

Führt ein IsolatedService in der OnDevicePersonalization-Sandbox aus.

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

Fordert das Einfügen eines SurfaceControlViewHost.SurfacePackage in ein SurfaceView in der aufrufenden App.

Übernommene Methoden

Öffentliche Methoden

ausführen

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

Führt ein IsolatedService in der OnDevicePersonalization-Sandbox aus. Die Plattform bindet sich in einem isolierten Prozess an die angegebene IsolatedService. und ruft IsolatedWorker#onExecute(ExecuteInput, java.util.function.Consumer) an durch die vom Aufrufer bereitgestellten Parameter. Wenn die Ausführung von IsolatedService abgeschlossen ist, gibt die Plattform Tokens an den Aufrufer zurück, die sich auf die Ergebnisse des Dienstes beziehen. Diese Token können anschließend für die Anzeige von Ergebnissen in einem SurfaceView in der Anruf-App.

Parameter
handler ComponentName: Die ComponentName von IsolatedService. Dieser Wert darf nicht null sein.

params PersistableBundle: Eine PersistableBundle, die von der aufrufenden App an den IsolatedService Der erwartete Inhalt dieses Parameters ist definiert von IsolatedService. Die Plattform interpretiert diesen Parameter nicht. Dieser Wert darf nicht null sein.

executor Executor: Die Executor, auf der der Callback aufgerufen werden soll. Dieser Wert darf nicht null sein. Callback- und Listener-Ereignisse werden über dieses Mit Executor lässt sich ganz einfach steuern, welcher Thread verwendet. Um Ereignisse über den Hauptthread Ihres können Sie Context.getMainExecutor() Geben Sie andernfalls einen Executor an, der E-Mails an einen geeigneten Thread weiterleitet.

receiver OutcomeReceiver: gibt eine Liste von SurfacePackageToken-Objekten zurück, von denen jedes eine einen intransparenten Verweis auf eine RenderingConfig, die von einem IsolatedService oder eine Exception bei einem Fehler. Die zurückgegebene SurfacePackageToken-Objekte können in einem nachfolgenden requestSurfacePackage(android.adservices.ondevicepersonalization.SurfacePackageToken, android.os.IBinder, int, int, int, java.util.concurrent.Executor, android.os.OutcomeReceiver)-Aufruf, um das Ergebnis in einer Ansicht anzuzeigen. Die Anruf-App und Die IsolatedService müssen der erwarteten Größe dieser Liste zustimmen. Ein Eintrag in der zurückgegebenen Liste der SurfacePackageToken-Objekte kann null sein, gibt an, dass der Dienst keine Ausgabe für diese Oberfläche hat. Bei einem Fehler gibt der Empfänger eine der folgenden Ausnahmen zurück: Gibt PackageManager.NameNotFoundException zurück, wenn der Handler Paket ist nicht installiert oder hat kein gültiges ODP-Manifest. Gibt ClassNotFoundException zurück, wenn die Handler-Klasse nicht gefunden wird. Gibt ein OnDevicePersonalizationException zurück, wenn die Ausführung des Handlers fehlschlägt.

requestSurfacePackage

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

Fordert das Einfügen eines SurfaceControlViewHost.SurfacePackage in ein SurfaceView in der aufrufenden App. Das Oberflächenpaket enthält View durch den Inhalt eines früheren Aufrufs von #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver) läuft in die OnDevicePersonalization-Sandbox.

Parameter
surfacePackageToken SurfacePackageToken: ein Verweis auf eine SurfacePackageToken, die von einem vorherigen Aufruf von #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver). Dieser Wert darf nicht null sein.

surfaceViewHostToken IBinder: das hostToken von SurfaceView, das ist zurückgegeben, die von SurfaceView.getHostToken() nach dem SurfaceView wurde der Ansichtshierarchie hinzugefügt. Dieser Wert darf nicht null sein.

displayId int: die ganzzahlige ID der logischen Anzeige, auf der die Anzeige dargestellt werden soll. SurfaceControlViewHost.SurfacePackage, zurückgegeben durch Context.getDisplay().getDisplayId()

width int: die Breite von SurfaceControlViewHost.SurfacePackage in Pixeln.

height int: die Höhe von SurfaceControlViewHost.SurfacePackage in Pixeln.

executor Executor: Die Executor, für die der Callback aufgerufen werden soll. Dieser Wert darf nicht null sein. Callback- und Listener-Ereignisse werden über dieses Mit Executor lässt sich ganz einfach steuern, welcher Thread verwendet. Um Ereignisse über den Hauptthread Ihres können Sie Context.getMainExecutor() Geben Sie andernfalls einen Executor an, der E-Mails an einen geeigneten Thread weiterleitet.

receiver OutcomeReceiver: Dies gibt entweder eine SurfaceControlViewHost.SurfacePackage bei Erfolg oder Exception bei Fehler. Der Ausnahmetyp ist OnDevicePersonalizationException, wenn die Ausführung des Handlers fehlschlägt. Dieser Wert darf nicht null sein.