SdkSandboxManager

public final class SdkSandboxManager
extends Object

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


SDKs를 SDK 샌드박스 프로세스를 빌드한 다음 이와 상호작용할 수 있습니다.

SDK 샌드박스는 별도의 UID 범위에서 실행되는 자바 프로세스입니다. 앱마다 자체 SDK가 있을 수 있음 실행할 수 있습니다.

앱은 먼저 <uses-sdk-library> 태그를 사용하여 매니페스트에서 종속되는 SDK를 선언해야 합니다. 앱은 종속되는 SDK만 SDK 샌드박스에 로드할 수 있습니다.

요약

중첩된 클래스

interface SdkSandboxManager.SdkSandboxProcessDeathCallback

SDK 샌드박스 종료 이벤트 추적을 위한 콜백입니다. 

상수

String EXTRA_DISPLAY_ID

requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)의 Bundle 필드에서 사용할 키의 이름입니다. 해당 값은 논리 연산자의 정수 ID를 정의해야 합니다. 디스플레이에 SurfacePackage를 표시합니다.

String EXTRA_HEIGHT_IN_PIXELS

requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)의 번들 필드에서 사용할 키의 이름입니다. 값은 SurfacePackage의 정수 높이를 픽셀 단위로 정의해야 합니다.

String EXTRA_HOST_TOKEN

requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)의 번들 필드에서 사용할 키의 이름입니다. SurfaceView가 설정되면 SurfaceView.getHostToken()에서 반환된 토큰이 해당 값에 표시되어야 합니다. 뷰 계층 구조에 추가됩니다.

String EXTRA_SURFACE_PACKAGE

requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)의 필드인 OutcomeReceiveronResult 함수에 전달되는 번들의 키 이름입니다. 값은 요청된 SurfacePackage를 나타냅니다.

String EXTRA_WIDTH_IN_PIXELS

requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)의 Bundle 필드에서 사용할 키의 이름입니다. 값은 SurfacePackage의 정수 너비를 픽셀 단위로 정의해야 합니다.

int LOAD_SDK_ALREADY_LOADED

SDK가 이미 로드되었습니다.

int LOAD_SDK_INTERNAL_ERROR

SDK를 로드하는 동안 내부 오류가 발생했습니다.

int LOAD_SDK_NOT_FOUND

SDK를 찾을 수 없습니다.

int LOAD_SDK_SDK_DEFINED_ERROR

로드 후 SDK 오류가 발생했습니다.

int LOAD_SDK_SDK_SANDBOX_DISABLED

SDK 샌드박스가 사용 중지되었습니다.

int REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR

SurfacePackage 요청 중에 내부 오류가 발생했습니다.

int REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED

SurfacePackage를 요청하는 동안 SDK가 로드되지 않습니다.

int SDK_SANDBOX_PROCESS_NOT_AVAILABLE

SDK 샌드박스 프로세스를 사용할 수 없습니다.

String SDK_SANDBOX_SERVICE

Context#getSystemService(String)와 함께 사용하여 SdkSandboxManager를 가져옵니다. 이 클라이언트 애플리케이션에 속한 SDK와 상호작용합니다.

int SDK_SANDBOX_STATE_DISABLED

SDK 샌드박스가 사용 중지되었습니다.

int SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION

SDK 샌드박스가 사용 설정되었습니다.

공개 메서드

void addSdkSandboxProcessDeathCallback(Executor callbackExecutor, SdkSandboxManager.SdkSandboxProcessDeathCallback callback)

SDK 샌드박스 수명 주기 이벤트(예: SDK 샌드박스)에 등록되는 콜백을 추가합니다. 죽음.

void addSyncedSharedPreferencesKeys(Set<String> keys)

앱의 기본 SharedPreferences에서 SDK로 동기화되는 키 집합에 키를 추가합니다. 있습니다.

List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces()

앱에 등록된 AppOwnedSdkSandboxInterface 목록을 가져옵니다.

List<SandboxedSdk> getSandboxedSdks()

샌드박스에 로드된 SDK에 관한 정보를 가져옵니다.

static int getSdkSandboxState()

SDK 샌드박스 기능의 사용 가능 여부의 현재 상태를 반환합니다.

Set<String> getSyncedSharedPreferencesKeys()

앱의 기본 SharedPreferences에서 실행할 수 있습니다

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

SDK 샌드박스 자바 프로세스에서 SDK를 로드합니다.

void registerAppOwnedSdkSandboxInterface(AppOwnedSdkSandboxInterface appOwnedSdkSandboxInterface)

앱 프로세스에 AppOwnedSdkSandboxInterface를 등록합니다.

void removeSdkSandboxProcessDeathCallback(SdkSandboxManager.SdkSandboxProcessDeathCallback callback)

이전에 addSdkSandboxProcessDeathCallback(java.util.concurrent.Executor, android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback)를 사용하여 추가된 SdkSandboxProcessDeathCallback를 삭제합니다.

void removeSyncedSharedPreferencesKeys(Set<String> keys)

addSyncedSharedPreferencesKeys(java.util.Set)를 사용하여 추가된 키 세트에서 키를 삭제합니다.

삭제된 키는 이미 동기화된 경우 SDK 샌드박스에서 삭제됩니다.

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

노출 영역 패키지 요청을 SDK에 전송합니다.

void startSdkSandboxActivity(Activity fromActivity, IBinder sdkActivityToken)

SDK 샌드박스에서 Activity를 시작합니다.

void unloadSdk(String sdkName)

호출자가 이전에 로드한 SDK를 언로드합니다.

void unregisterAppOwnedSdkSandboxInterface(String name)

앱 프로세스의 ERROR(/AppOwnedSdkSandboxInterfaces) 등록을 취소합니다.

상속된 메서드

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

일반적으로 알림을 받거나 중단되어 절전 모드에서 해제될 때까지 현재 스레드가 대기하도록 합니다.

상수

EXTRA_DISPLAY_ID[추가_표시_ID]

public static final String EXTRA_DISPLAY_ID

requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)의 Bundle 필드에서 사용할 키의 이름입니다. 해당 값은 논리 연산자의 정수 ID를 정의해야 합니다. 디스플레이에 SurfacePackage를 표시합니다.

상수 값: 'android.app.sdksandbox.extra.DISPLAY_ID'

EXTRA_HEIGHT_IN_PIXELS

public static final String EXTRA_HEIGHT_IN_PIXELS

requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)의 번들 필드에서 사용할 키의 이름입니다. 값은 SurfacePackage의 정수 높이를 픽셀 단위로 정의해야 합니다.

상수 값: 'android.app.sdksandbox.extra.HEIGHT_IN_PIXELS'

추가_호스트_토큰

public static final String EXTRA_HOST_TOKEN

requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)의 번들 필드에서 사용할 키의 이름입니다. SurfaceView가 설정되면 SurfaceView.getHostToken()에서 반환된 토큰이 해당 값에 표시되어야 합니다. 뷰 계층 구조에 추가됩니다. ANR 보고를 사용 설정하기 위해 null이 아닌 값만 허용됩니다.

상수 값: 'android.app.sdksandbox.extra.HOST_TOKEN'

EXTRA_SURFACE_PACKAGE

public static final String EXTRA_SURFACE_PACKAGE

requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)의 필드인 OutcomeReceiveronResult 함수에 전달되는 번들의 키 이름입니다. 값은 요청된 SurfacePackage를 나타냅니다.

상수 값: 'android.app.sdksandbox.extra.SURFACE_PACKAGE'

EXTRA_WIDTH_IN_PIXELS

public static final String EXTRA_WIDTH_IN_PIXELS

requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)의 번들 필드에서 사용할 키의 이름입니다. 값은 SurfacePackage의 정수 너비를 픽셀 단위로 정의해야 합니다.

상수 값: 'android.app.sdksandbox.extra.WIDTH_IN_PIXELS'

LOAD_SDK_ALREADY_LOADED

public static final int LOAD_SDK_ALREADY_LOADED

SDK가 이미 로드되었습니다.

이는 클라이언트 애플리케이션이 loadSdk(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)를 호출하여 동일한 SDK를 새로고침하려고 시도했음을 나타냅니다. 성공적으로 로드되었습니다.

상수 값: 기초 (0x00000065)

LOAD_SDK_INTERNAL_ERROR

public static final int LOAD_SDK_INTERNAL_ERROR

SDK를 로드하는 동안 내부 오류가 발생했습니다.

클라이언트의 호출을 적용하는 동안 일반적인 내부 오류가 발생했음을 나타냅니다. 애플리케이션입니다.

상수 값: 500명 (0x000001f4)

LOAD_SDK_NOT_FOUND

public static final int LOAD_SDK_NOT_FOUND

SDK를 찾을 수 없습니다.

클라이언트 애플리케이션이 loadSdk(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)을 호출하여 존재하지 않는 SDK를 로드하려고 했음을 나타냅니다.

상수 값: 100명 (0x00000064)

LOAD_SDK_SDK_DEFINED_ERROR

public static final int LOAD_SDK_SDK_DEFINED_ERROR

로드 후 SDK 오류가 발생했습니다.

이는 로드 후 초기화 중에 SDK에 오류가 발생했음을 나타냅니다. 이 세부정보는 LoadSdkException에서 반환된 번들에서 다음을 통해 가져올 수 있습니다. SdkSandboxManager#loadSdk에 전달된 OutcomeReceiver입니다.

상수 값: 102명 (0x00000066)

LOAD_SDK_SDK_SANDBOX_DISABLED

public static final int LOAD_SDK_SDK_SANDBOX_DISABLED

SDK 샌드박스가 사용 중지되었습니다.

이는 SDK 샌드박스가 사용 중지되었음을 나타냅니다. 이후에 SDK를 로드하려는 모든 시도는 이 부팅도 실패합니다

상수 값: 103명 (0x00000067)

REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR

public static final int REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR

SurfacePackage 요청 중에 내부 오류가 발생했습니다.

SurfacePackage를 요청하는 동안 일반적인 내부 오류가 발생했음을 나타냅니다.

상수 값: 700명 (0x000002bc)

REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED

public static final int REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED

SurfacePackage를 요청하는 동안 SDK가 로드되지 않습니다.

SurfacePackage가 요청되는 SDK가 샌드박스가 종료되었거나 애초에 로드되지 않았기 때문에 로드되었을 수 있습니다.

상수 값: 701 (0x000002bd)

SDK_SANDBOX_PROCESS_NOT_AVAILABLE

public static final int SDK_SANDBOX_PROCESS_NOT_AVAILABLE

SDK 샌드박스 프로세스를 사용할 수 없습니다.

이는 SDK 샌드박스 프로세스가 종료되었거나, 처음부터 만들어지지 않았음을 의미합니다

상수 값: 503 (0x000001f7)

SDK_SANDBOX_SERVICE

public static final String SDK_SANDBOX_SERVICE

Context#getSystemService(String)와 함께 사용하여 SdkSandboxManager를 가져옵니다. 이 클라이언트 애플리케이션에 속한 SDK와 상호작용합니다.

상수 값: 'sdk_sandbox'

SDK_SANDBOX_STATE_DISABLED

public static final int SDK_SANDBOX_STATE_DISABLED

SDK 샌드박스가 사용 중지되었습니다.

SdkSandboxManager API를 숨겼습니다. 이를 호출하려고 하면 UnsupportedOperationException이 발생합니다.

상수 값: 0 (0x00000000)

SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION

public static final int SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION

SDK 샌드박스가 사용 설정되었습니다.

앱은 SdkSandboxManager API를 사용하여 종속되는 SDKs를 SDK 샌드박스 프로세스를 생성합니다.

상수 값: 2개 (0x00000002)

공개 메서드

addSdkSandboxProcessDeathCallback

public void addSdkSandboxProcessDeathCallback (Executor callbackExecutor, 
                SdkSandboxManager.SdkSandboxProcessDeathCallback callback)

SDK 샌드박스 수명 주기 이벤트(예: SDK 샌드박스)에 등록되는 콜백을 추가합니다. 죽음. 이 메서드를 호출할 때 샌드박스가 아직 생성되지 않은 경우 요청은 샌드박스가 생성될 때까지 저장되며, 이후 해당 샌드박스에 대해 활성화됩니다. 여러 항목 콜백은 종료를 감지하기 위해 추가할 수 있으며 샌드박스가 종료될 때 삭제되지 않습니다.

매개변수
callbackExecutor Executor: 콜백을 호출할 Executor입니다. 이 값은 null일 수 없습니다. 콜백 및 리스너 이벤트는 이 Executor를 통해 전달되므로 사용되는 스레드를 쉽게 제어할 수 있습니다. 애플리케이션의 기본 스레드를 통해 이벤트를 전달하려면 Context.getMainExecutor()를 사용하면 됩니다. 그 외의 경우에는 적절한 스레드로 전달되는 Executor를 제공합니다.

callback SdkSandboxManager.SdkSandboxProcessDeathCallback: SDK 샌드박스를 수신할 SdkSandboxProcessDeathCallback입니다. 수명 주기 이벤트를 지원합니다. 이 값은 null일 수 없습니다.

addSyncedSharedPreferencesKeys

public void addSyncedSharedPreferencesKeys (Set<String> keys)

앱의 기본 SharedPreferences에서 SDK로 동기화되는 키 집합에 키를 추가합니다. 있습니다.

SdkSandboxController.getClientSharedPreferences() API를 사용하여 SDK에서 동기화된 데이터를 읽을 수 있습니다.

이 API를 사용하여 추가된 키의 동기화를 중지하려면 removeSyncedSharedPreferencesKeys(java.util.Set)를 사용하세요.

앱이 다시 시작되면 동기화가 중단되며 사용자가 이 API를 다시 호출하여 풀을 다시 빌드해야 합니다. 동기화하기 위한 몇 개의 키입니다.

참고: 이 클래스는 여러 프로세스에서 사용하는 것을 지원하지 않습니다.

매개변수
keys Set: 샌드박스에 동기화될 키 집합입니다. 이 값은 null일 수 없습니다.

getAppOwnedSdkSandboxInterfaces

public List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces ()

앱에 등록된 AppOwnedSdkSandboxInterface 목록을 가져옵니다.

반환 값
List<AppOwnedSdkSandboxInterface> 지도에서 callInfo를 찾을 수 없는 경우 빈 목록, 그렇지 않으면 AppOwnedSdkSandboxInterface 목록 이 값은 null일 수 없습니다.

getSandboxedSdks

public List<SandboxedSdk> getSandboxedSdks ()

샌드박스에 로드된 SDK에 관한 정보를 가져옵니다.

반환 값
List<SandboxedSdk> 현재 로드된 모든 SDK가 포함된 SandboxedSdk의 목록입니다. 이 값은 null일 수 없습니다.

getSdkSandboxState

public static int getSdkSandboxState ()

SDK 샌드박스 기능의 사용 가능 여부의 현재 상태를 반환합니다.

getSyncedSharedPreferencesKeys

public Set<String> getSyncedSharedPreferencesKeys ()

앱의 기본 SharedPreferences에서 실행할 수 있습니다

반환 값
Set<String> 이 값은 null일 수 없습니다.

loadSdk

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

SDK 샌드박스 자바 프로세스에서 SDK를 로드합니다.

sdkName를 사용하여 SDK 라이브러리를 SDK 샌드박스 프로세스에 비동기식으로 로드합니다. 이 receiver를 통해 알림이 전송됩니다.

호출자는 <uses-sdk-library> 태그를 사용하여 매니페스트에서 종속되는 SDKs를 이미 선언해야 합니다. 호출자는 종속되는 SDKs만 SDK에 로드할 수 있습니다. 있습니다.

클라이언트 애플리케이션이 첫 번째 SDK를 로드하면 새 SDK 샌드박스 프로세스가 생성됨. 클라이언트 애플리케이션용으로 샌드박스가 이미 생성된 경우 추가 SDK가 동일한 샌드박스에 로드됩니다.

이 API는 호출자가 포그라운드에서 실행 중인 동안에만 호출할 수 있습니다. 다음에서 걸려오는 전화: 백그라운드의 경우 receiverLoadSdkException가 반환됩니다.

매개변수
sdkName String: 로드할 SDK의 이름입니다. 이 값은 null일 수 없습니다.

params Bundle: Bundle 형식으로 SDK에 전달할 추가 매개변수입니다. 합의한 대로 약관을 변경할 수 있습니다. 이 값은 null일 수 없습니다.

executor Executor: 수신자를 호출할 Executor입니다. 이 값은 null일 수 없습니다. 콜백 및 리스너 이벤트는 이 Executor를 통해 전달되므로 사용되는 스레드를 쉽게 제어할 수 있습니다. 애플리케이션의 기본 스레드를 통해 이벤트를 전달하려면 Context.getMainExecutor()를 사용하면 됩니다. 그 외의 경우에는 적절한 스레드로 전달되는 Executor를 제공합니다.

receiver OutcomeReceiver: 성공한 실행 시 SandboxedSdk를 수신하거나 LoadSdkException를 수신합니다. 이 값은 null일 수 없습니다.

registerAppOwnedSdkSandboxInterface

public void registerAppOwnedSdkSandboxInterface (AppOwnedSdkSandboxInterface appOwnedSdkSandboxInterface)

앱 프로세스에 AppOwnedSdkSandboxInterface를 등록합니다.

이전 이름과 동일한 이름의 AppOwnedSdkSandboxInterface 등록 등록된 인터페이스는 IllegalStateException이 됩니다.

AppOwnedSdkSandboxInterface#getName()는 인터페이스의 이름을 나타냅니다.

매개변수
appOwnedSdkSandboxInterface AppOwnedSdkSandboxInterface: 등록할 AppOwnedSdkSandboxInterface 이 값은 null일 수 없습니다.

removeSdkSandboxProcessDeathCallback

public void removeSdkSandboxProcessDeathCallback (SdkSandboxManager.SdkSandboxProcessDeathCallback callback)

이전에 addSdkSandboxProcessDeathCallback(java.util.concurrent.Executor, android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback)를 사용하여 추가된 SdkSandboxProcessDeathCallback를 삭제합니다.

매개변수
callback SdkSandboxManager.SdkSandboxProcessDeathCallback: 이전에 다음을 사용하여 추가된 SdkSandboxProcessDeathCallback입니다. <ph type="x-smartling-placeholder">SdkSandboxManager#addSdkSandboxProcessDeathCallback(Executor, SdkSandboxProcessDeathCallback)</ph> 이 값은 null일 수 없습니다.

removeSyncedSharedPreferencesKeys

public void removeSyncedSharedPreferencesKeys (Set<String> keys)

addSyncedSharedPreferencesKeys(java.util.Set)를 사용하여 추가된 키 세트에서 키를 삭제합니다.

삭제된 키는 이미 동기화된 경우 SDK 샌드박스에서 삭제됩니다.

매개변수
keys Set: 더 이상 샌드박스에 동기화하면 안 되는 키 이름의 집합입니다. 이 값은 null일 수 없습니다.

requestSurfacePackage

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

노출 영역 패키지 요청을 SDK에 전송합니다.

클라이언트 애플리케이션이 SDK 로드 성공에 대한 신호를 수신하고, 뷰 계층 구조에 SurfaceView를 추가하면 비동기식으로 요청이 SurfacePackage를 사용하여 SDK에서 뷰를 렌더링합니다.

SurfacePackage가 준비되면 OutcomeReceiver#onResult 콜백이 전달된 receiver가 호출됩니다. 이 콜백에는 Bundle가 포함됩니다. 객체로서, 이 객체에 포함된 SdkSandboxManager#EXTRA_SURFACE_PACKAGE 키를 연결된 값은 요청된 SurfacePackage입니다.

전달된 params에는 EXTRA_WIDTH_IN_PIXELS, SdkSandboxManager#EXTRA_HEIGHT_IN_PIXELS, SdkSandboxManager#EXTRA_DISPLAY_IDSdkSandboxManager#EXTRA_HOST_TOKEN 만약 이러한 키가 누락되거나 잘못되면 IllegalArgumentException이 발생합니다.

이 API는 호출자가 포그라운드에서 실행 중인 동안에만 호출할 수 있습니다. 다음에서 걸려오는 전화: receiver에 RequestSurfacePackageException이 반환됩니다.

매개변수
sdkName String: SDK 샌드박스에 로드된 SDK의 이름입니다. 이 값은 null일 수 없습니다.

params Bundle: 클라이언트 애플리케이션이 SDK에 전달하는 매개변수입니다. 이 값은 null일 수 없습니다.

callbackExecutor Executor: 콜백을 호출할 Executor입니다. 이 값은 null일 수 없습니다. 콜백 및 리스너 이벤트는 이 Executor를 통해 전달되므로 사용되는 스레드를 쉽게 제어할 수 있습니다. 애플리케이션의 기본 스레드를 통해 이벤트를 전달하려면 Context.getMainExecutor()를 사용하면 됩니다. 그 외의 경우에는 적절한 스레드로 전달되는 Executor를 제공합니다.

receiver OutcomeReceiver: 성공 시 Bundle를 반환하며 여기에는 키가 포함됩니다. SurfacePackage 값이 있는 SdkSandboxManager#EXTRA_SURFACE_PACKAGE 또는 실패 시 RequestSurfacePackageException입니다. 이 값은 null일 수 없습니다.

생성 값
IllegalArgumentException params에 모든 필수 키가 포함되어 있지 않은 경우

startSdkSandboxActivity

public void startSdkSandboxActivity (Activity fromActivity, 
                IBinder sdkActivityToken)

SDK 샌드박스에서 Activity를 시작합니다.

이 함수는 전달된 fromActivity의 동일한 작업에서 새 Activity를 시작하여 전달된 sdkActivityToken를 공유하는 SDK에 전달합니다. 이 Activity를 통계하기 위한 SDK의 요청을 식별합니다.

다음과 같은 경우 Activity가 시작되지 않습니다.

  • 이 API를 호출하는 앱이 백그라운드에 있습니다.
  • 전달된 sdkActivityTokenActivity 요청에 매핑되지 않습니다. 호출자 앱과 이를 공유하는 SDK가 생성됩니다.
  • 전달된 sdkActivityToken을(를) 공유한 SDK에서 이 요청을 삭제했습니다. Activity입니다.
  • Activity 샌드박스가 이미 생성되었습니다.

매개변수
fromActivity Activity: ActivityActivity#startActivity(Intent)를 호출하여 새 샌드박스 Activity를 시작하는 데 사용됩니다. 이 값은 null일 수 없습니다.

sdkActivityToken IBinder: Activity를 요청하는 SDK에서 공유하는 식별자입니다. 이 값은 null일 수 없습니다.

unloadSdk

public void unloadSdk (String sdkName)

호출자가 이전에 로드한 SDK를 언로드합니다.

이 SDK에 할당된 메모리가 즉시 해제되지 않을 수도 있습니다. 전체 requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)에 대한 후속 호출 지정된 sdkName가 실패합니다.

이 API는 호출자가 포그라운드에서 실행 중인 동안에만 호출할 수 있습니다. 다음에서 걸려오는 전화: 백그라운드에 있는 경우 SecurityException이 발생합니다.

매개변수
sdkName String: 언로드할 SDK의 이름입니다. 이 값은 null일 수 없습니다.

unregisterAppOwnedSdkSandboxInterface

public void unregisterAppOwnedSdkSandboxInterface (String name)

앱 프로세스의 ERROR(/AppOwnedSdkSandboxInterfaces) 등록을 취소합니다.

매개변수
name String: AppOwnedSdkSandboxInterface가 등록된 이름입니다. 이 값은 null일 수 없습니다.