SdkSandboxManager

public final class SdkSandboxManager
extends Object

java.lang.object
android.app.sdksandbox.SdkSandboxManager


APIهایی را برای بارگیری SDKs در فرآیند جعبه SDK و سپس تعامل با آنها فراهم می کند.

SDK sandbox یک فرآیند جاوا است که در یک محدوده uid جداگانه اجرا می شود. هر برنامه ممکن است فرآیند SDK sandbox خود را داشته باشد.

برنامه ابتدا باید با استفاده از تگ <uses-sdk-library> ، SDK هایی را که به آن وابسته است در مانیفست خود اعلام کند. برنامه‌ها فقط می‌توانند SDK‌هایی را که به آن‌ها وابسته هستند در جعبه SDK بارگیری کنند.

خلاصه

کلاس های تو در تو

interface SdkSandboxManager.SdkSandboxProcessDeathCallback

پاسخ به تماس برای ردیابی رویدادها مرگ جعبه SDK.

ثابت ها

String EXTRA_DISPLAY_ID

نام کلید مورد استفاده در فیلدهای Bundle requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) ، مقدار آن باید شناسه عدد صحیح را مشخص کند. صفحه نمایش منطقی برای نمایش SurfacePackage .

String EXTRA_HEIGHT_IN_PIXELS

نام کلید مورد استفاده در فیلدهای Bundle requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) ، مقدار آن باید ارتفاع عدد صحیح را تعیین کند. SurfacePackage بر حسب پیکسل.

String EXTRA_HOST_TOKEN

نام کلید مورد استفاده در فیلدهای Bundle requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) ، مقدار آن باید نشانه بازگشتی توسط SurfaceView.getHostToken() را نشان دهد. هنگامی که SurfaceView به سلسله مراتب view اضافه شد، SurfaceView.getHostToken() .

String EXTRA_SURFACE_PACKAGE

نام کلید در Bundle که به تابع onResult OutcomeReceiver که فیلد requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) ارسال می شود، مقدار آن SurfacePackage درخواستی را نشان می دهد.

String EXTRA_WIDTH_IN_PIXELS

نام کلید مورد استفاده در فیلدهای Bundle requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) ، مقدار آن باید عرض عدد صحیح را مشخص کند. 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 sandbox، مانند مرگ SDK sandbox ثبت می شود.

void addSyncedSharedPreferencesKeys ( Set < String > keys)

کلیدهایی را به مجموعه کلیدهایی که از SharedPreferences پیش‌فرض برنامه به جعبه SDK همگام‌سازی می‌شوند، اضافه می‌کند.

List < AppOwnedSdkSandboxInterface > getAppOwnedSdkSandboxInterfaces ()

فهرستی از AppOwnedSdkSandboxInterface ثبت شده برای یک برنامه را واکشی می کند

List < SandboxedSdk > getSandboxedSdks ()

اطلاعات مربوط به SDKهایی را که در sandbox بارگیری شده اند واکشی می کند.

static int getSdkSandboxState ()

وضعیت فعلی در دسترس بودن ویژگی جعبه SDK را برمی‌گرداند.

Set < String > getSyncedSharedPreferencesKeys ()

کلیدهای تنظیمی را که از SharedPreferences پیش‌فرض برنامه در حال همگام‌سازی هستند به جعبه ایمنی SDK برمی‌گرداند.

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

SDK را در فرآیند جاوا SDK sandbox بارگیری می کند.

void registerAppOwnedSdkSandboxInterface ( AppOwnedSdkSandboxInterface appOwnedSdkSandboxInterface)

AppOwnedSdkSandboxInterface را برای فرآیند برنامه ثبت می کند.

void removeSdkSandboxProcessDeathCallback ( SdkSandboxManager.SdkSandboxProcessDeathCallback callback)

یک SdkSandboxProcessDeathCallback را که قبلاً با استفاده از addSdkSandboxProcessDeathCallback(java.util.concurrent.Executor, android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback)

void removeSyncedSharedPreferencesKeys ( Set < String > keys)

کلیدها را از مجموعه کلیدهایی که با استفاده از addSyncedSharedPreferencesKeys(java.util.Set) اضافه شده اند حذف می کند.

اگر کلیدهای حذف شده قبلاً همگام‌سازی شده باشند، از جعبه ایمنی SDK پاک می‌شوند.

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

درخواستی برای بسته سطحی به SDK ارسال می کند.

void startSdkSandboxActivity ( Activity fromActivity, IBinder sdkActivityToken)

یک Activity در جعبه ایمنی SDK شروع می کند.

void unloadSdk ( String sdkName)

یک SDK را که قبلاً توسط تماس گیرنده بارگیری شده است، بارگیری می کند.

void unregisterAppOwnedSdkSandboxInterface ( String name)

ERROR(/AppOwnedSdkSandboxInterfaces) را برای فرآیند برنامه لغو ثبت می کند.

روش های ارثی

ثابت ها

EXTRA_DISPLAY_ID

در سطح API 34 اضافه شد
همچنین در Ad Services Extensions 4
public static final String EXTRA_DISPLAY_ID

نام کلید مورد استفاده در فیلدهای Bundle requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) ، مقدار آن باید شناسه عدد صحیح را مشخص کند. صفحه نمایش منطقی برای نمایش SurfacePackage .

مقدار ثابت: "android.app.sdksandbox.extra.DISPLAY_ID"

EXTRA_HEIGHT_IN_PIXELS

در سطح API 34 اضافه شد
همچنین در Ad Services Extensions 4
public static final String EXTRA_HEIGHT_IN_PIXELS

نام کلید مورد استفاده در فیلدهای Bundle requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) ، مقدار آن باید ارتفاع عدد صحیح را تعیین کند. SurfacePackage بر حسب پیکسل.

مقدار ثابت: "android.app.sdksandbox.extra.HEIGHT_IN_PIXELS"

EXTRA_HOST_TOKEN

در سطح API 34 اضافه شد
همچنین در Ad Services Extensions 4
public static final String EXTRA_HOST_TOKEN

نام کلید مورد استفاده در فیلدهای Bundle requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) ، مقدار آن باید نشانه بازگشتی توسط SurfaceView.getHostToken() را نشان دهد. هنگامی که SurfaceView به سلسله مراتب view اضافه شد، SurfaceView.getHostToken() . فقط یک مقدار غیر تهی برای فعال کردن گزارش ANR پذیرفته می شود.

مقدار ثابت: "android.app.sdksandbox.extra.HOST_TOKEN"

EXTRA_SURFACE_PACKAGE

در سطح API 34 اضافه شد
همچنین در Ad Services Extensions 4
public static final String EXTRA_SURFACE_PACKAGE

نام کلید در Bundle که به تابع onResult OutcomeReceiver که فیلد requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) ارسال می شود، مقدار آن SurfacePackage درخواستی را نشان می دهد.

مقدار ثابت: "android.app.sdksandbox.extra.SURFACE_PACKAGE"

EXTRA_WIDTH_IN_PIXELS

در سطح API 34 اضافه شد
همچنین در Ad Services Extensions 4
public static final String EXTRA_WIDTH_IN_PIXELS

نام کلید مورد استفاده در فیلدهای Bundle 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

در سطح API 34 اضافه شد
همچنین در Ad Services Extensions 4
public static final int LOAD_SDK_ALREADY_LOADED

SDK قبلاً بارگیری شده است.

این نشان می‌دهد که برنامه کلاینت پس از بارگیری موفقیت‌آمیز با فراخوانی loadSdk(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) سعی کرده است همان SDK را دوباره بارگیری کند.

مقدار ثابت: 101 (0x00000065)

LOAD_SDK_INTERNAL_ERROR

در سطح API 34 اضافه شد
همچنین در Ad Services Extensions 4
public static final int LOAD_SDK_INTERNAL_ERROR

خطای داخلی هنگام بارگیری SDK.

این نشان می دهد که یک خطای داخلی عمومی هنگام اعمال تماس از برنامه مشتری رخ داده است.

مقدار ثابت: 500 (0x000001f4)

LOAD_SDK_NOT_FOUND

در سطح API 34 اضافه شد
همچنین در Ad Services Extensions 4
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

در سطح API 34 اضافه شد
همچنین در Ad Services Extensions 4
public static final int LOAD_SDK_SDK_DEFINED_ERROR

خطای SDK پس از بارگیری.

این نشان می دهد که SDK در حین مقداردهی اولیه پس از بارگذاری با خطا مواجه شده است. جزئیات این مورد را می توان از بسته بازگردانده شده در LoadSdkException از طریق OutcomeReceiver که به SdkSandboxManager#loadSdk ارسال شده است، بدست آورد.

مقدار ثابت: 102 (0x00000066)

LOAD_SDK_SDK_SANDBOX_DISABLED

در سطح API 34 اضافه شد
همچنین در Ad Services Extensions 4
public static final int LOAD_SDK_SDK_SANDBOX_DISABLED

جعبه ایمنی SDK غیرفعال است.

این نشان می دهد که جعبه SDK غیرفعال است. هر گونه تلاش بعدی برای بارگیری SDK در این بوت نیز با شکست مواجه خواهد شد.

مقدار ثابت: 103 (0x00000067)

REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR

در سطح API 34 اضافه شد
همچنین در Ad Services Extensions 4
public static final int REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR

خطای داخلی هنگام درخواست SurfacePackage .

این نشان می دهد که یک خطای داخلی عمومی هنگام درخواست SurfacePackage رخ داده است.

مقدار ثابت: 700 (0x000002bc)

REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED

در سطح API 34 اضافه شد
همچنین در افزونه های Ad Services 5
public static final int REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED

هنگام درخواست SurfacePackage ، SDK بارگیری نمی شود.

این نشان می‌دهد که SDK که SurfacePackage برای آن درخواست می‌شود، بارگیری نمی‌شود، یا به این دلیل که sandbox از بین رفته یا به دلیل اینکه از ابتدا بارگیری نشده است.

مقدار ثابت: 701 (0x000002bd)

SDK_SANDBOX_PROCESS_NOT_AVAILABLE

در سطح API 34 اضافه شد
همچنین در Ad Services Extensions 4
public static final int SDK_SANDBOX_PROCESS_NOT_AVAILABLE

فرآیند جعبه ایمنی SDK در دسترس نیست.

این نشان می‌دهد که فرآیند sandbox SDK در دسترس نیست، یا به این دلیل که در وهله اول از بین رفته، قطع شده یا ایجاد نشده است.

مقدار ثابت: 503 (0x000001f7)

SDK_SANDBOX_SERVICE

در سطح API 34 اضافه شد
همچنین در Ad Services Extensions 4
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 غیرفعال است.

APIهای SdkSandboxManager پنهان هستند. تلاش برای فراخوانی آنها منجر به UnsupportedOperationException می شود.

مقدار ثابت: 0 (0x00000000)

SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION

public static final int SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION

جعبه ایمنی SDK فعال است.

برنامه می‌تواند از APIهای SdkSandboxManager برای بارگیری SDKs استفاده کند که بستگی به فرآیند جعبه SDK مربوطه دارد.

مقدار ثابت: 2 (0x00000002)

روش های عمومی

addSdkSandboxProcessDeathCallback

در سطح API 34 اضافه شد
همچنین در Ad Services Extensions 4
public void addSdkSandboxProcessDeathCallback (Executor callbackExecutor, 
                SdkSandboxManager.SdkSandboxProcessDeathCallback callback)

یک تماس برگشتی اضافه می کند که برای رویدادهای چرخه حیات SDK sandbox، مانند مرگ SDK sandbox ثبت می شود. اگر در هنگام فراخوانی جعبه شنی هنوز ایجاد نشده باشد، درخواست تا زمانی که یک جعبه شنی ایجاد شود ذخیره می‌شود و در این مرحله برای آن جعبه ماسه‌بازی فعال می‌شود. برای تشخیص مرگ می‌توان چند تماس برگشتی اضافه کرد و با از بین رفتن جعبه شنی حذف نمی‌شوند.

پارامترها
callbackExecutor Executor : Executor که در آن فراخوانی برگشتی فراخوانی می شود این مقدار نمی تواند null باشد . رویدادهای پاسخ به تماس و شنونده از طریق این Executor ارسال می‌شوند و راهی آسان برای کنترل رشته مورد استفاده ارائه می‌دهند. برای ارسال رویدادها از طریق رشته اصلی برنامه خود، می توانید از Context.getMainExecutor() استفاده کنید. در غیر این صورت، یک Executor ارائه دهید که به یک موضوع مناسب ارسال می کند.

callback SdkSandboxManager.SdkSandboxProcessDeathCallback : SdkSandboxProcessDeathCallback که رویدادهای چرخه حیات SDK sandbox را دریافت خواهد کرد. این مقدار نمی تواند null باشد.

addSyncedSharedPreferencesKeys

در سطح API 34 اضافه شد
همچنین در افزونه های Ad Services 5
public void addSyncedSharedPreferencesKeys (Set<String> keys)

کلیدهایی را به مجموعه کلیدهایی که از SharedPreferences پیش‌فرض برنامه به جعبه SDK همگام‌سازی می‌شوند، اضافه می‌کند.

داده‌های همگام‌سازی شده برای خواندن SDK با استفاده از API SdkSandboxController.getClientSharedPreferences() در دسترس خواهد بود.

برای توقف همگام‌سازی هر کلیدی که با استفاده از این API اضافه شده است، از removeSyncedSharedPreferencesKeys(java.util.Set) استفاده کنید.

در صورت راه اندازی مجدد برنامه، همگام سازی قطع می شود و کاربر باید دوباره با این API تماس بگیرد تا مجموعه کلیدهای همگام سازی را بازسازی کند.

توجه: این کلاس از استفاده در چندین فرآیند پشتیبانی نمی کند.

پارامترها
keys Set : مجموعه ای از کلیدهایی که با Sandbox همگام می شوند. این مقدار نمی تواند null باشد.

رابط های getAppOwnedSdkSandbox

public List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces ()

فهرستی از AppOwnedSdkSandboxInterface ثبت شده برای یک برنامه را واکشی می کند

برمی گرداند
List < AppOwnedSdkSandboxInterface > لیست خالی اگر callingInfo در نقشه یافت نشد، در غیر این صورت لیستی از AppOwnedSdkSandboxInterface این مقدار نمی تواند null باشد.

getSandboxedSdks

در سطح API 34 اضافه شد
همچنین در افزونه های Ad Services 5
public List<SandboxedSdk> getSandboxedSdks ()

اطلاعات مربوط به SDKهایی را که در sandbox بارگیری شده اند واکشی می کند.

برمی گرداند
List < SandboxedSdk > فهرست SandboxedSdk حاوی همه SDK های بارگیری شده در حال حاضر. این مقدار نمی تواند null باشد.

getSdkSandboxState

public static int getSdkSandboxState ()

وضعیت فعلی در دسترس بودن ویژگی جعبه SDK را برمی‌گرداند.

برمی گرداند
int مقدار SDK_SANDBOX_STATE_DISABLED یا SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION است

getSyncedSharedPreferencesKeys

در سطح API 34 اضافه شد
همچنین در افزونه های Ad Services 5
public Set<String> getSyncedSharedPreferencesKeys ()

کلیدهای تنظیمی را که از SharedPreferences پیش‌فرض برنامه در حال همگام‌سازی هستند به جعبه ایمنی SDK برمی‌گرداند.

برمی گرداند
Set < String > این مقدار نمی تواند null باشد.

loadSdk

در سطح API 34 اضافه شد
همچنین در Ad Services Extensions 4
public void loadSdk (String sdkName, 
                Bundle params, 
                Executor executor, 
                OutcomeReceiver<SandboxedSdkLoadSdkException> receiver)

SDK را در فرآیند جاوا SDK sandbox بارگیری می کند.

کتابخانه SDK را با sdkName به صورت ناهمزمان در فرآیند جعبه SDK بارگیری می کند. تماس گیرنده از طریق receiver مطلع خواهد شد.

تماس‌گیرنده قبلاً باید SDKs که به آن وابسته است در مانیفست خود با استفاده از تگ <uses-sdk-library> اعلام کند. تماس‌گیرنده فقط می‌تواند SDKs که به آن‌ها بستگی دارد در جعبه ایمنی SDK بارگیری کند.

هنگامی که برنامه سرویس گیرنده اولین SDK را بارگیری می کند، یک فرآیند Sandbox SDK جدید ایجاد می شود. اگر قبلاً یک جعبه ایمنی برای برنامه سرویس گیرنده ایجاد شده باشد، SDK های اضافی در همان جعبه ایمنی بارگیری می شوند.

این API ممکن است فقط زمانی فراخوانی شود که تماس گیرنده در پیش زمینه در حال اجرا است. تماس‌های پس‌زمینه منجر به بازگشت LoadSdkException در receiver می‌شود.

پارامترها
sdkName String : نام SDK که باید بارگیری شود. این مقدار نمی تواند null باشد.

params Bundle : پارامترهای اضافی که باید در قالب یک Bundle به SDK منتقل شوند که بین مشتری و 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

در سطح API 34 اضافه شد
همچنین در Ad Services Extensions 4
public void removeSdkSandboxProcessDeathCallback (SdkSandboxManager.SdkSandboxProcessDeathCallback callback)

یک SdkSandboxProcessDeathCallback را که قبلاً با استفاده از addSdkSandboxProcessDeathCallback(java.util.concurrent.Executor, android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback)

پارامترها
callback SdkSandboxManager.SdkSandboxProcessDeathCallback : SdkSandboxProcessDeathCallback که قبلاً با استفاده از SdkSandboxManager#addSdkSandboxProcessDeathCallback(Executor, SdkSandboxProcessDeathCallback) این مقدار نمی تواند null باشد.

removeSyncedSharedPreferencesKeys

در سطح API 34 اضافه شد
همچنین در افزونه های Ad Services 5
public void removeSyncedSharedPreferencesKeys (Set<String> keys)

کلیدها را از مجموعه کلیدهایی که با استفاده از addSyncedSharedPreferencesKeys(java.util.Set) اضافه شده اند حذف می کند.

اگر کلیدهای حذف شده قبلاً همگام‌سازی شده باشند، از جعبه ایمنی SDK پاک می‌شوند.

پارامترها
keys Set : مجموعه ای از نام های کلیدی که دیگر نباید با Sandbox همگام شوند. این مقدار نمی تواند null باشد.

درخواست SurfacePackage

در سطح API 34 اضافه شد
همچنین در Ad Services Extensions 4
public void requestSurfacePackage (String sdkName, 
                Bundle params, 
                Executor callbackExecutor, 
                OutcomeReceiver<BundleRequestSurfacePackageException> receiver)

درخواستی برای بسته سطحی به SDK ارسال می کند.

پس از اینکه برنامه کلاینت سیگنالی در مورد بارگیری موفقیت آمیز SDK دریافت کرد و یک SurfaceView به سلسله مراتب view اضافه کرد، ممکن است به صورت ناهمزمان یک 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_ID و SdkSandboxManager#EXTRA_HOST_TOKEN . اگر هر یک از این کلیدها مفقود یا نامعتبر باشد، یک IllegalArgumentException پرتاب می شود.

این API ممکن است فقط زمانی فراخوانی شود که تماس گیرنده در پیش زمینه در حال اجرا است. تماس‌های پس‌زمینه منجر به بازگشت RequestSurfacePackageException در receiver می‌شود.

پارامترها
sdkName String : نام SDK بارگیری شده در جعبه SDK. این مقدار نمی تواند null باشد.

params Bundle : پارامترهایی که برنامه کلاینت به SDK منتقل می کند. این مقدار نمی تواند null باشد.

callbackExecutor Executor : Executor که در آن فراخوانی برگشتی فراخوانی می شود این مقدار نمی تواند null باشد . رویدادهای پاسخ به تماس و شنونده از طریق این Executor ارسال می‌شوند و راهی آسان برای کنترل رشته مورد استفاده ارائه می‌دهند. برای ارسال رویدادها از طریق رشته اصلی برنامه خود، می توانید از Context.getMainExecutor() استفاده کنید. در غیر این صورت، یک Executor ارائه دهید که به یک موضوع مناسب ارسال می کند.

receiver OutcomeReceiver : این یا یک Bundle را در صورت موفقیت برمی گرداند که حاوی کلید SdkSandboxManager#EXTRA_SURFACE_PACKAGE با مقدار SurfacePackage یا RequestSurfacePackageException در صورت شکست است. این مقدار نمی تواند null باشد.

پرتاب می کند
IllegalArgumentException اگر params شامل تمام کلیدهای مورد نیاز نباشد.

startSdkSandboxActivity

در سطح API 34 اضافه شد
همچنین در افزونه های Ad Services 7
public void startSdkSandboxActivity (Activity fromActivity, 
                IBinder sdkActivityToken)

یک Activity در جعبه ایمنی SDK شروع می کند.

این تابع یک Activity جدید را در همان وظیفه از fromActivity ارسال شده شروع می‌کند و آن را به SDK که sdkActivityToken تصویب شده را به اشتراک گذاشته است، ارسال می‌کند که درخواستی از آن SDK برای بیان این Activity شناسایی می‌کند.

Activity در موارد زیر شروع نمی شود:

  • برنامه ای که این API را فراخوانی می کند در پس زمینه است.
  • sdkActivityToken ارسال شده به درخواست یک Activity از SDK که آن را با برنامه تماس گیرنده به اشتراک گذاشته است، نگاشت نمی شود.
  • SDK که sdkActivityToken تصویب شده را به اشتراک گذاشت، درخواست خود را برای این Activity حذف کرد.
  • Activity sandbox قبلا ایجاد شده است.

پارامترها
fromActivity Activity : از Activity برای شروع Activity sandbox جدید با فراخوانی Activity#startActivity(Intent) در مقابل آن استفاده می‌شود. این مقدار نمی تواند null باشد.

sdkActivityToken IBinder : شناسه ای که توسط SDK که Activity را درخواست می کند به اشتراک گذاشته می شود. این مقدار نمی تواند null باشد.

unloadSdk

در سطح API 34 اضافه شد
همچنین در Ad Services Extensions 4
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 باشد.