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() 取得

摘要

常數

String SDK_SANDBOX_CONTROLLER_SERVICE

公用方法

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

繼承方法

常數

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