In API-Level 33 hinzugefügt
Auch in Ad Services Extensions 3 hinzugefügt

SDKSandboxManager

public final class SdkSandboxManager
extends Object

java.lang.Object
😎 android.app.sdksandbox.SdkSandboxManager


Stellt APIs zum Laden von SDKs in den SDK-Sandbox-Prozess und interagieren dann mit ihnen.

Die SDK-Sandbox ist ein Java-Prozess, der in einem separaten UID-Bereich ausgeführt wird. Jede App kann ein eigenes SDK haben Sandbox-Prozess.

Die App muss zuerst SDKs deklarieren, von denen sie abhängig ist, mithilfe des Tags <uses-sdk-library> in ihrem Manifest. Apps dürfen nur SDKs, von denen sie abhängig sind, in die SDK-Sandbox laden.

Zusammenfassung

Verschachtelte Klassen

interface SdkSandboxManager.SdkSandboxProcessDeathCallback

Ein Callback für das Tracking der SDK-Sandbox-Ereignisse. 

Konstanten

String EXTRA_DISPLAY_ID

Der Name des Schlüssels, der in den Bundle-Feldern von requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) verwendet werden soll. Sein Wert sollte die Ganzzahl-ID der logischen um SurfacePackage anzuzeigen.

String EXTRA_HEIGHT_IN_PIXELS

Der Name des Schlüssels, der in den Bundle-Feldern von requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) verwendet werden soll. Sein Wert sollte die ganzzahlige Höhe von SurfacePackage in Pixeln definieren.

String EXTRA_HOST_TOKEN

Der Name des Schlüssels, der in den Bundle-Feldern von requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) verwendet werden soll. Sein Wert sollte das von SurfaceView.getHostToken() zurückgegebene Token enthalten, sobald SurfaceView werden der Ansichtshierarchie hinzugefügt.

String EXTRA_SURFACE_PACKAGE

Der Name des Schlüssels im Bundle, der an die Funktion onResult von OutcomeReceiver übergeben wird. Das Feld ist das Feld requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver). Sein Wert stellt die angeforderte SurfacePackage dar.

String EXTRA_WIDTH_IN_PIXELS

Der Name des Schlüssels, der in den Bundle-Feldern von requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) verwendet werden soll. Sein Wert sollte die ganzzahlige Breite von SurfacePackage in Pixeln definieren.

int LOAD_SDK_ALREADY_LOADED

SDK ist bereits geladen.

int LOAD_SDK_INTERNAL_ERROR

Interner Fehler beim Laden des SDK.

int LOAD_SDK_NOT_FOUND

SDK nicht gefunden.

int LOAD_SDK_SDK_DEFINED_ERROR

SDK-Fehler nach dem Laden.

int LOAD_SDK_SDK_SANDBOX_DISABLED

SDK-Sandbox ist deaktiviert.

int REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR

Interner Fehler beim Anfordern von SurfacePackage.

int REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED

SDK wird beim Anfordern von SurfacePackage nicht geladen.

int SDK_SANDBOX_PROCESS_NOT_AVAILABLE

SDK-Sandbox-Prozess ist nicht verfügbar.

String SDK_SANDBOX_SERVICE

Mit Context#getSystemService(String) verwenden, um ein SdkSandboxManager abzurufen für die Interaktion mit den SDKs dieser Clientanwendung.

int SDK_SANDBOX_STATE_DISABLED

SDK-Sandbox ist deaktiviert.

int SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION

SDK-Sandbox ist aktiviert.

Öffentliche Methoden

void addSdkSandboxProcessDeathCallback(Executor callbackExecutor, SdkSandboxManager.SdkSandboxProcessDeathCallback callback)

Fügt einen Callback hinzu, der für SDK-Sandbox-Lebenszyklusereignisse wie die SDK-Sandbox registriert wird Tod.

void addSyncedSharedPreferencesKeys(Set<String> keys)

Fügt Schlüssel zu einem Satz von Schlüsseln hinzu, der vom standardmäßigen SharedPreferences der App mit dem SDK synchronisiert wird Sandbox ausführen.

List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces()

Ruft eine Liste von AppOwnedSdkSandboxInterface ab, die für eine App registriert sind

List<SandboxedSdk> getSandboxedSdks()

Ruft Informationen zu SDKs ab, die in der Sandbox geladen werden.

static int getSdkSandboxState()

Gibt den aktuellen Verfügbarkeitsstatus der SDK-Sandbox-Funktion zurück.

Set<String> getSyncedSharedPreferencesKeys()

Gibt die festgelegten Schlüssel zurück, die vom Standard-SharedPreferences der App synchronisiert werden, an SDK-Sandbox an.

void loadSdk(String sdkName, Bundle params, Executor executor, OutcomeReceiver<SandboxedSdkLoadSdkException> receiver)

Lädt das SDK in einen SDK-Sandbox-Java-Prozess.

void registerAppOwnedSdkSandboxInterface(AppOwnedSdkSandboxInterface appOwnedSdkSandboxInterface)

Registriert AppOwnedSdkSandboxInterface für einen Anwendungsprozess.

void removeSdkSandboxProcessDeathCallback(SdkSandboxManager.SdkSandboxProcessDeathCallback callback)

Entfernt einen SdkSandboxProcessDeathCallback, der zuvor mit addSdkSandboxProcessDeathCallback(java.util.concurrent.Executor, android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback) hinzugefügt wurde

void removeSyncedSharedPreferencesKeys(Set<String> keys)

Entfernt Schlüssel aus einem Schlüsselsatz, der mit addSyncedSharedPreferencesKeys(java.util.Set) hinzugefügt wurde

Entfernte Schlüssel werden aus der SDK-Sandbox gelöscht, wenn sie bereits synchronisiert wurden.

void requestSurfacePackage(String sdkName, Bundle params, Executor callbackExecutor, OutcomeReceiver<BundleRequestSurfacePackageException> receiver)

Sendet eine Anfrage für ein Oberflächenpaket an das SDK.

void startSdkSandboxActivity(Activity fromActivity, IBinder sdkActivityToken)

Startet ein Activity in der SDK-Sandbox.

void unloadSdk(String sdkName)

Entlädt ein SDK, das zuvor vom Aufrufer geladen wurde.

void unregisterAppOwnedSdkSandboxInterface(String name)

Hebt die Registrierung von ERROR(/AppOwnedSdkSandboxInterfaces) für einen Anwendungsprozess auf.

Übernommene Methoden

Konstanten

EXTRA_DISPLAY_ID

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 4 hinzugefügt
public static final String EXTRA_DISPLAY_ID

Der Name des Schlüssels, der in den Bundle-Feldern von requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) verwendet werden soll. Sein Wert sollte die Ganzzahl-ID der logischen um SurfacePackage anzuzeigen.

Konstantenwert: „android.app.sdksandbox.extra.DISPLAY_ID“

EXTRA_HEIGHT_IN_PIXELS

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 4 hinzugefügt
public static final String EXTRA_HEIGHT_IN_PIXELS

Der Name des Schlüssels, der in den Bundle-Feldern von requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) verwendet werden soll. Sein Wert sollte die ganzzahlige Höhe von SurfacePackage in Pixeln definieren.

Konstantenwert: „android.app.sdksandbox.extra.HEIGHT_IN_PIXELS“

EXTRA_HOST_TOKEN

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 4 hinzugefügt
public static final String EXTRA_HOST_TOKEN

Der Name des Schlüssels, der in den Bundle-Feldern von requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) verwendet werden soll. Sein Wert sollte das von SurfaceView.getHostToken() zurückgegebene Token enthalten, sobald SurfaceView werden der Ansichtshierarchie hinzugefügt. Für die ANR-Berichterstellung ist nur ein Wert zulässig, der nicht null ist.

Konstantenwert: „android.app.sdksandbox.extra.HOST_TOKEN“

EXTRA_SURFACE_PAKET

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 4 hinzugefügt
public static final String EXTRA_SURFACE_PACKAGE

Der Name des Schlüssels im Bundle, der an die Funktion onResult von OutcomeReceiver übergeben wird. Das Feld ist das Feld requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver). Sein Wert stellt die angeforderte SurfacePackage dar.

Konstantenwert: „android.app.sdksandbox.extra.SURFACE_PACKAGE“

EXTRA_WIDTH_IN_PIXELS

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 4 hinzugefügt
public static final String EXTRA_WIDTH_IN_PIXELS

Der Name des Schlüssels, der in den Bundle-Feldern von requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) verwendet werden soll. Sein Wert sollte die ganzzahlige Breite von SurfacePackage in Pixeln definieren.

Konstantenwert: „android.app.sdksandbox.extra.WIDTH_IN_PIXELS“

LOAD_SDK_ALREADY_GELADEN

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 4 hinzugefügt
public static final int LOAD_SDK_ALREADY_LOADED

SDK ist bereits geladen.

Dies weist darauf hin, dass die Clientanwendung versucht hat, dasselbe SDK neu zu laden, indem sie loadSdk(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) aufgerufen hat, nachdem erfolgreich geladen.

Konstantenwert: Erste Schritte (0x00000065)

LOAD_SDK_INTERN_FEHLER

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 4 hinzugefügt
public static final int LOAD_SDK_INTERNAL_ERROR

Interner Fehler beim Laden des SDK.

Dies weist darauf hin, dass beim Anwenden des Anrufs vom Client ein allgemeiner interner Fehler aufgetreten ist. .

Konstantenwert: 500 (0x000001f4)

LOAD_SDK_NOT_FOUND (Nicht gefunden)

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 4 hinzugefügt
public static final int LOAD_SDK_NOT_FOUND

SDK nicht gefunden.

Dies weist darauf hin, dass die Clientanwendung versucht hat, ein nicht vorhandenes SDK durch Aufrufen von loadSdk(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) zu laden.

Konstantenwert: 100 (0x00000064)

LOAD_SDK_SDK_DEFINED_ERROR

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 4 hinzugefügt
public static final int LOAD_SDK_SDK_DEFINED_ERROR

SDK-Fehler nach dem Laden.

Dies weist darauf hin, dass im SDK während der Initialisierung nach dem Laden ein Fehler aufgetreten ist. Die Details dazu finden Sie im Bundle, das in LoadSdkException zurückgegeben wird: OutcomeReceiver, die an SdkSandboxManager#loadSdk übergeben wurden.

Konstantenwert: 102 (0x00000066)

LOAD_SDK_SDK_SANDBOX_DEAKTIVIERT

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 4 hinzugefügt
public static final int LOAD_SDK_SDK_SANDBOX_DISABLED

SDK-Sandbox ist deaktiviert.

Das bedeutet, dass die SDK-Sandbox deaktiviert ist. Alle nachfolgenden Versuche, SDKs zu laden, schlägt auch dieser Bootvorgang fehl.

Konstantenwert: 103 (0x00000067)

ANFRAGE_SURFACE_PAKET_INTERN_FEHLER

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 4 hinzugefügt
public static final int REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR

Interner Fehler beim Anfordern von SurfacePackage.

Dies weist darauf hin, dass beim Anfordern eines SurfacePackage

Konstantenwert: 700 (0x000002bc)

REQUEST_SURFACE_PACKAGE_SDK_NOT_GELADEN

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 5 hinzugefügt
public static final int REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED

SDK wird beim Anfordern von SurfacePackage nicht geladen.

Dies weist darauf hin, dass das SDK, für das die SurfacePackage angefordert wird, nicht geladen, weil die Sandbox entweder inaktiv oder gar nicht geladen wurde.

Konstantenwert: 701 (0x000002bd)

SDK_SANDBOX_PROZESS_NICHT_VERFÜGBAR

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 4 hinzugefügt
public static final int SDK_SANDBOX_PROCESS_NOT_AVAILABLE

SDK-Sandbox-Prozess ist nicht verfügbar.

Dies weist darauf hin, dass der SDK-Sandbox-Prozess nicht verfügbar ist, weil er nicht mehr funktioniert, getrennt oder gar nicht erstellt wurde.

Konstantenwert: 503 (0x000001f7)

SDK_SANDBOX_SERVICE

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 4 hinzugefügt
public static final String SDK_SANDBOX_SERVICE

Mit Context#getSystemService(String) verwenden, um ein SdkSandboxManager abzurufen für die Interaktion mit den SDKs dieser Clientanwendung.

Konstantenwert: „sdk_sandbox“

SDK_SANDBOX_STATE_DISABLED

In API-Level 33 hinzugefügt
Auch in Ad Services Extensions 3 hinzugefügt
public static final int SDK_SANDBOX_STATE_DISABLED

SDK-Sandbox ist deaktiviert.

SdkSandboxManager APIs sind ausgeblendet. Versuche, sie aufzurufen, führen zu UnsupportedOperationException.

Konstantenwert: 0 (0x00000000)

SDK_SANDBOX_STATE_AKTIVIERT_PROZESS_ISOLATION

In API-Level 33 hinzugefügt
Auch in Ad Services Extensions 3 hinzugefügt
public static final int SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION

SDK-Sandbox ist aktiviert.

Die Anwendung kann SdkSandboxManager APIs verwenden, um SDKs, von denen sie abhängig ist, in den entsprechenden SDK-Sandbox-Prozess.

Konstantenwert: 2. (0x00000002)

Öffentliche Methoden

addSdkSandboxProcessDeathCallback

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 4 hinzugefügt
public void addSdkSandboxProcessDeathCallback (Executor callbackExecutor, 
                SdkSandboxManager.SdkSandboxProcessDeathCallback callback)

Fügt einen Callback hinzu, der für SDK-Sandbox-Lebenszyklusereignisse wie die SDK-Sandbox registriert wird Tod. Wurde die Sandbox beim Aufruf noch nicht erstellt, wird die Anfrage werden gespeichert, bis eine Sandbox erstellt wurde. Danach wird sie für diese Sandbox aktiviert. Mehrere Callbacks können hinzugefügt werden, um Todesfälle zu erkennen. Sie werden nicht entfernt, wenn die Sandbox abstürzt.

Parameter
callbackExecutor 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.

callback SdkSandboxManager.SdkSandboxProcessDeathCallback: die SdkSandboxProcessDeathCallback, die die SDK-Sandbox erhält Lebenszyklus-Ereignisse. Dieser Wert darf nicht null sein.

addSyncedSharedPreferencesKeys

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 5 hinzugefügt
public void addSyncedSharedPreferencesKeys (Set<String> keys)

Fügt Schlüssel zu einem Satz von Schlüsseln hinzu, der vom standardmäßigen SharedPreferences der App mit dem SDK synchronisiert wird Sandbox ausführen.

Synchronisierte Daten können SDKs mit der SdkSandboxController.getClientSharedPreferences() API lesen.

Wenn Sie die Synchronisierung von Schlüsseln beenden möchten, die über diese API hinzugefügt wurden, verwenden Sie removeSyncedSharedPreferencesKeys(java.util.Set).

Die Synchronisierung wird unterbrochen, wenn die App neu gestartet wird und der Nutzer diese API noch einmal aufrufen muss, um den Pool neu zu erstellen Schlüssel für die Synchronisierung.

Hinweis: Diese Klasse unterstützt die Verwendung in mehreren Prozessen nicht.

Parameter
keys Set: Schlüsselsatz, der mit Sandbox synchronisiert wird. Dieser Wert darf nicht null sein.

getAppOwnedSdkSandboxInterfaces

public List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces ()

Ruft eine Liste von AppOwnedSdkSandboxInterface ab, die für eine App registriert sind

Returns
List<AppOwnedSdkSandboxInterface> Leere Liste, wenn "callingInfo" in der Karte nicht gefunden wurde, andernfalls eine Liste mit AppOwnedSdkSandboxInterface Dieser Wert darf nicht null sein.

getSandboxedSdks

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 5 hinzugefügt
public List<SandboxedSdk> getSandboxedSdks ()

Ruft Informationen zu SDKs ab, die in der Sandbox geladen werden.

Returns
List<SandboxedSdk> Liste der SandboxedSdk mit allen derzeit geladenen SDKs. Dieser Wert darf nicht null sein.

getSdkSandboxState

In API-Level 33 hinzugefügt
Auch in Ad Services Extensions 3 hinzugefügt
public static int getSdkSandboxState ()

Gibt den aktuellen Verfügbarkeitsstatus der SDK-Sandbox-Funktion zurück.

Returns
int Wert ist SDK_SANDBOX_STATE_DISABLED oder SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION

getSyncedSharedPreferencesKeys

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 5 hinzugefügt
public Set<String> getSyncedSharedPreferencesKeys ()

Gibt die festgelegten Schlüssel zurück, die vom Standard-SharedPreferences der App synchronisiert werden, an SDK-Sandbox an.

Returns
Set<String> Dieser Wert darf nicht null sein.

ladenSdk

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 4 hinzugefügt
public void loadSdk (String sdkName, 
                Bundle params, 
                Executor executor, 
                OutcomeReceiver<SandboxedSdkLoadSdkException> receiver)

Lädt das SDK in einen SDK-Sandbox-Java-Prozess.

Lädt die SDK-Bibliothek mit sdkName asynchron in einen SDK-Sandbox-Prozess. Die Der Anrufer wird über die receiver benachrichtigt.

Der Aufrufer sollte SDKs, von dem er abhängig ist, bereits in seinem Manifest mit dem <uses-sdk-library>-Tag deklarieren. Der Aufrufer kann nur SDKs, von denen er abhängig ist, in das SDK laden. Sandbox ausführen.

Wenn die Clientanwendung das erste SDK lädt, wird ein neuer SDK-Sandbox-Prozess erstellt. Wenn für die Clientanwendung bereits eine Sandbox erstellt wurde, werden zusätzliche SDKs in dieselbe Sandbox geladen.

Diese API kann nur aufgerufen werden, während der Aufrufer im Vordergrund ausgeführt wird. Anrufe über die Hintergrund führt zur Rückgabe von LoadSdkException im receiver.

Parameter
sdkName String ist der Name des SDK, das geladen werden soll. Dieser Wert darf nicht null sein.

params Bundle: zusätzliche Parameter, die in Form eines Bundle an das SDK übergeben werden die zwischen dem Kunden und dem SDK vereinbart wurden. Dieser Wert darf nicht null sein.

executor Executor: Die Executor, auf der der Empfänger 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: Bei erfolgreicher Ausführung erhält der Befehl entweder einen SandboxedSdk-Wert oder LoadSdkException. Dieser Wert darf nicht null sein.

registerAppOwnedSdkSandboxInterface

public void registerAppOwnedSdkSandboxInterface (AppOwnedSdkSandboxInterface appOwnedSdkSandboxInterface)

Registriert AppOwnedSdkSandboxInterface für einen Anwendungsprozess.

Registrieren einer AppOwnedSdkSandboxInterface mit demselben Namen wie ein zuvor registrierte Schnittstelle führt zu IllegalStateException.

AppOwnedSdkSandboxInterface#getName() bezieht sich auf den Namen der Schnittstelle.

Parameter
appOwnedSdkSandboxInterface AppOwnedSdkSandboxInterface: die zu registrierende AppOwnedSdkSandboxInterface Dieser Wert darf nicht null sein.

removeSdkSandboxProcessDeathCallback

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 4 hinzugefügt
public void removeSdkSandboxProcessDeathCallback (SdkSandboxManager.SdkSandboxProcessDeathCallback callback)

Entfernt einen SdkSandboxProcessDeathCallback, der zuvor mit addSdkSandboxProcessDeathCallback(java.util.concurrent.Executor, android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback) hinzugefügt wurde

Parameter
callback SdkSandboxManager.SdkSandboxProcessDeathCallback: die SdkSandboxProcessDeathCallback, die zuvor mithilfe von SdkSandboxManager#addSdkSandboxProcessDeathCallback(Executor, SdkSandboxProcessDeathCallback) Dieser Wert darf nicht null sein.

removeSyncedSharedPreferencesKeys

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 5 hinzugefügt
public void removeSyncedSharedPreferencesKeys (Set<String> keys)

Entfernt Schlüssel aus einem Schlüsselsatz, der mit addSyncedSharedPreferencesKeys(java.util.Set) hinzugefügt wurde

Entfernte Schlüssel werden aus der SDK-Sandbox gelöscht, wenn sie bereits synchronisiert wurden.

Parameter
keys Set: Satz von Schlüsselnamen, die nicht mehr mit Sandbox synchronisiert werden sollen. Dieser Wert darf nicht null sein.

requestSurfacePackage

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 4 hinzugefügt
public void requestSurfacePackage (String sdkName, 
                Bundle params, 
                Executor callbackExecutor, 
                OutcomeReceiver<BundleRequestSurfacePackageException> receiver)

Sendet eine Anfrage für ein Oberflächenpaket an das SDK.

Nachdem die Client-Anwendung ein Signal über das erfolgreiche Laden des SDK erhalten hat und eine SurfaceView zur Ansichtshierarchie hinzugefügt hat, kann sie asynchron anfordern, SurfacePackage, um eine Ansicht aus dem SDK zu rendern.

Wenn SurfacePackage bereit ist, wird der OutcomeReceiver#onResult-Callback von wird die übergebene receiver aufgerufen. Dieser Callback enthält einen Bundle Objekt, das den Schlüssel SdkSandboxManager#EXTRA_SURFACE_PACKAGE enthält, dessen zugehöriger Wert ist die angeforderte SurfacePackage.

Der übergebene params muss die folgenden Schlüssel enthalten: EXTRA_WIDTH_IN_PIXELS, SdkSandboxManager#EXTRA_HEIGHT_IN_PIXELS, SdkSandboxManager#EXTRA_DISPLAY_ID und SdkSandboxManager#EXTRA_HOST_TOKEN. Wenn einer dieser Schlüssel fehlt oder ungültig ist, wird ein IllegalArgumentException ausgelöst.

Diese API kann nur aufgerufen werden, während der Aufrufer im Vordergrund ausgeführt wird. Anrufe über die Hintergrund führt zur Rückgabe von RequestSurfacePackageException im receiver.

Parameter
sdkName String ist der Name des SDKs, das in die SDK-Sandbox geladen wurde. Dieser Wert darf nicht null sein.

params Bundle: die Parameter, die die Clientanwendung an das SDK übergibt. Dieser Wert darf nicht null sein.

callbackExecutor 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: Bei Erfolg wird entweder ein Bundle zurückgegeben, das den Schlüssel enthält. SdkSandboxManager#EXTRA_SURFACE_PACKAGE mit einem SurfacePackage-Wert oder RequestSurfacePackageException bei Fehler. Dieser Wert darf nicht null sein.

Ausgabe
IllegalArgumentException params enthält nicht alle erforderlichen Schlüssel.

startSdkSandboxActivity

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 7 hinzugefügt
public void startSdkSandboxActivity (Activity fromActivity, 
                IBinder sdkActivityToken)

Startet ein Activity in der SDK-Sandbox.

Diese Funktion startet eine neue Activity in derselben Aufgabe der übergebenen fromActivity und übergibt sie an das SDK, das die übergebene sdkActivityToken freigegeben hat. identifiziert eine Anfrage von diesem SDK, um diese Activity zu erfassen.

Activity wird in den folgenden Fällen nicht gestartet:

  • Die App, die diese API aufruft, befindet sich im Hintergrund.
  • Die übergebene sdkActivityToken ist keiner Anfrage für Activity zugeordnet. aus dem SDK erstellen, das sie für die aufrufende App freigegeben hat.
  • Das SDK, das die übergebene sdkActivityToken geteilt hat, hat seine Anfrage für dieses Element entfernt Activity.
  • Die Sandbox Activity wurde bereits erstellt.

Parameter
fromActivity Activity: Die Activity wird verwendet, um die neue Sandbox Activity durch Aufrufen von Activity#startActivity(Intent) zu starten. Dieser Wert darf nicht null sein.

sdkActivityToken IBinder: Die Kennung, die vom SDK freigegeben wird, das die Activity anfordert. Dieser Wert darf nicht null sein.

unloadSdk

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 4 hinzugefügt
public void unloadSdk (String sdkName)

Entlädt ein SDK, das zuvor vom Aufrufer geladen wurde.

Es ist nicht garantiert, dass der für dieses SDK zugewiesene Arbeitsspeicher sofort freigegeben wird. Alle weitere requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)-Aufrufe für die angegebene sdkName schlägt fehl.

Diese API kann nur aufgerufen werden, während der Aufrufer im Vordergrund ausgeführt wird. Anrufe über die Hintergrund führt dazu, dass ein SecurityException ausgelöst wird.

Parameter
sdkName String ist der Name des SDKs, das entladen werden soll. Dieser Wert darf nicht null sein.

Registrierung fürAppOwnedSdkSandboxInterface aufheben

public void unregisterAppOwnedSdkSandboxInterface (String name)

Hebt die Registrierung von ERROR(/AppOwnedSdkSandboxInterfaces) für einen Anwendungsprozess auf.

Parameter
name String: der Name, unter dem AppOwnedSdkSandboxInterface registriert wurde Dieser Wert darf nicht null sein.