SdkSandboxController

public class SdkSandboxController
extends Object

java.lang.Object
   ↳ android.app.sdksandbox.sdkprovider.SdkSandboxController


沙箱中載入的 SDK 所使用的控制器,可存取 SDK 提供的資訊 沙箱。

可讓 SDK 與 SDK 沙箱中的其他 SDK 通訊,並瞭解狀態 以及目前載入的 SDK 版本

您可以使用 Context.getSystemService(Class)class 取得 SdkSandboxController 的執行個體。Context可以轉回 可透過 SandboxedSdkProvider.getContext() 取得

摘要

公用方法

List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces()

擷取應用程式註冊的所有 AppOwnedSdkSandboxInterface

String getClientPackageName()

傳回用戶端應用程式的套件名稱。

SharedPreferences getClientSharedPreferences()

傳回 SharedPreferences,其中包含從用戶端應用程式同步處理的資料。

List<SandboxedSdk> getSandboxedSdks()

擷取在沙箱中載入的 Sdks 相關資訊。

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

在 SDK 沙箱 Java 程序中載入 SDK。

IBinder registerSdkSandboxActivityHandler(SdkSandboxActivityHandler sdkSandboxActivityHandler)

在註冊 SdkSandboxActivityHandler 後傳回其 ID。

void unregisterSdkSandboxActivityHandler(SdkSandboxActivityHandler sdkSandboxActivityHandler)

取消註冊已註冊的 SdkSandboxActivityHandler

繼承方法

Object clone()

建立並傳回此物件的副本。

boolean equals(Object obj)

指出是否有其他物件「等於」這個。

void finalize()

在垃圾收集作業時,垃圾收集器會呼叫該物件上的 判斷物件沒有其他參照

final Class<?> getClass()

傳回此 Object 的執行階段類別。

int hashCode()

傳回該物件的雜湊碼值。

final void notify()

喚醒目前等待這個物件的 監控功能

final void notifyAll()

喚醒所有等待此物件監控器的執行緒。

String toString()

傳回該物件的字串表示法。

final void wait(long timeoutMillis, int nanos)

讓目前的執行緒等待,直到遭到喚醒為止。 通知中斷, 是否經過一定的即時效能

final void wait(long timeoutMillis)

讓目前的執行緒等待,直到遭到喚醒為止。 通知中斷, 是否經過一定的即時效能

final void wait()

讓目前的執行緒等待,直到遭到喚醒為止。 通知受到干擾

常數

SDK_SANDBOX_CONTROLLER_SERVICE

已加至 API 級別 34
也已納入 Ad Services Extensions 5
public static final String SDK_SANDBOX_CONTROLLER_SERVICE

常數值: 「sdk_sandbox_controller_service」

公用方法

getAppOwnedSdkSandboxInterfaces

public List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces ()

擷取應用程式註冊的所有 AppOwnedSdkSandboxInterface

傳回
List<AppOwnedSdkSandboxInterface> AppOwnedSdkSandboxInterface 清單,內含所有目前註冊的項目 AppOwnedSdkSandboxInterface。 此值不能為 null

擲回
UnsupportedOperationException 如果控制器是從非預期中獲得 相關資訊在適當的情境下使用 SandboxedSdkProvider#getContext()

getClientPackageName

public String getClientPackageName ()

傳回用戶端應用程式的套件名稱。

傳回
String 此值不能為 null

擲回
UnsupportedOperationException 如果控制器是從非預期中獲得 相關資訊針對適當的情境使用 SandboxedSdkProvider#getContext()

getClientSharedPreferences

已加至 API 級別 34
也已納入 Ad Services Extensions 5
public SharedPreferences getClientSharedPreferences ()

傳回 SharedPreferences,其中包含從用戶端應用程式同步處理的資料。

您可以在這個 SharedPreferences 中找到已由用戶端應用程式使用 SdkSandboxManager.addSyncedSharedPreferencesKeys(Set) 同步處理的金鑰。

傳回的 SharedPreferences 只能讀取。寫入不是 支援。

傳回
SharedPreferences SharedPreferences:包含從用戶端應用程式同步處理的資料。 此值不能為 null

擲回
UnsupportedOperationException 如果控制器是從非預期中獲得 相關資訊在適當的情境下使用 SandboxedSdkProvider#getContext()

getSandboxedSdks

已加至 API 級別 34
也已納入 Ad Services Extensions 5
public List<SandboxedSdk> getSandboxedSdks ()

擷取在沙箱中載入的 Sdks 相關資訊。

傳回
List<SandboxedSdk> SandboxedSdk 清單,內含目前載入的所有 SDK 此值不能為 null

擲回
UnsupportedOperationException 如果控制器是從非預期中獲得 相關資訊在適當的情境下使用 SandboxedSdkProvider#getContext()

loadSdk

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

在 SDK 沙箱 Java 程序中載入 SDK。

使用 sdkName 以非同步方式將 SDK 程式庫載入 SDK 沙箱程序。 來電者將透過 receiver 收到通知。

呼叫端只能將用戶端應用程式仰賴的 SDKs 載入 SDK 沙箱中。

參數
sdkName String:要載入的 SDK 的名稱。 此值不能為 null

params Bundle:要傳遞至 SDK 的其他參數,格式為 Bundle 用戶端和 SDK 之間協議的異動 此值不能為 null

executor Executor:叫用接收器的 Executor。 此值不能為 null。 回呼和事件監聽器事件會透過這個 Executor,可讓您輕鬆控制 如何透過應用程式的主執行緒分派事件 可以使用 Context.getMainExecutor()。 否則,請提供會調度至適當執行緒的 Executor

receiver OutcomeReceiver:在成功執行時收到 SandboxedSdk,或 LoadSdkException。 此值不能為 null

擲回
UnsupportedOperationException 如果控制器是從非預期中獲得 相關資訊在適當的情境下使用 SandboxedSdkProvider#getContext()

RegisterSdkSandboxActivityHandler

已加至 API 級別 34
也已納入 Ad Services Extensions 7
public IBinder registerSdkSandboxActivityHandler (SdkSandboxActivityHandler sdkSandboxActivityHandler)

在註冊 SdkSandboxActivityHandler 後傳回其 ID。

這個函式會註冊由SdkSandboxActivityHandler SDK 並傳回 IBinder,該物件會明確識別所傳遞 SdkSandboxActivityHandler 物件。

如果有多次註冊相同的SdkSandboxActivityHandler,但沒有 取消註冊後,系統會傳回相同的 IBinder 權杖。

參數
sdkSandboxActivityHandler SdkSandboxActivityHandler:要註冊的 SdkSandboxActivityHandler。 此值不能為 null

傳回
IBinder IBinder 可明確識別傳遞的 SdkSandboxActivityHandler。 此值不能為 null

取消註冊 SdkSandboxActivityHandler

已加至 API 級別 34
也已納入 Ad Services Extensions 7
public void unregisterSdkSandboxActivityHandler (SdkSandboxActivityHandler sdkSandboxActivityHandler)

取消註冊已註冊的 SdkSandboxActivityHandler

如果已註冊傳遞的 SdkSandboxActivityHandler,系統就會取消註冊。 否則不會有任何作用。

取消註冊後,SDK 可以再次註冊相同的處理常式物件,或是在 充電盒需要新的 Activity

如果用於啟動 Activity 的未註冊處理常式 IBinder 權杖, Activity 將無法啟動。

參數
sdkSandboxActivityHandler SdkSandboxActivityHandler:要取消註冊的 SdkSandboxActivityHandler。 此值不能為 null

傳回
void 此值不能為 null