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 |
void
|
requestSurfacePackage(SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackage, Exception> receiver)
Fordert das Einfügen eines |
Ü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.SurfacePackage, Exception> 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. |