SdkSandboxManager

public final class SdkSandboxManager
extends Object

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


מספק ממשקי API לטעינת SDKs לתוך תהליך Sandbox של SDK ואז אינטראקציה איתם.

'ארגז חול (sandbox)' של ערכת ה-SDK הוא תהליך של JavaScript שפועל בטווח uid נפרד. לכל אפליקציה יכול להיות SDK משלה תהליך ארגז חול (sandbox).

האפליקציה צריכה קודם להצהיר על ערכות SDK שהיא תלויה בהן במניפסט שלה באמצעות התג <uses-sdk-library>. אפליקציות יכולות לטעון ב-Sandbox של ה-SDK רק ערכות SDK שהן תלויות בהן.

סיכום

מחלקות מקוננות

interface SdkSandboxManager.SdkSandboxProcessDeathCallback

קריאה חוזרת (callback) למעקב אחר אירועים של מוות ב-SDK ב-SDK. 

קבועים

String EXTRA_DISPLAY_ID

שם המפתח שבו יש להשתמש בשדות החבילה של requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver), הערך שלו צריך להגדיר את המזהה השלם של הלוגיקה הלוגית. תצוגה כדי להציג את 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.getHostToken() אחרי שהערך של SurfaceView נוסף להיררכיית התצוגות.

String EXTRA_SURFACE_PACKAGE

שם המפתח בחבילה שמועבר לפונקציה onResult של OutcomeReceiver, שהוא השדה requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver), והערך שלו הוא SurfacePackage המבוקש.

String EXTRA_WIDTH_IN_PIXELS

שם המפתח שבו יש להשתמש בשדות החבילה של 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

ה-Sandbox של ה-SDK מושבת.

int REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR

אירעה שגיאה פנימית במהלך הבקשה של SurfacePackage.

int REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED

ערכת ה-SDK לא נטענת כשמבקשים SurfacePackage.

int SDK_SANDBOX_PROCESS_NOT_AVAILABLE

תהליך ה-Sandbox של ה-SDK לא זמין.

String SDK_SANDBOX_SERVICE

שימוש יחד עם Context#getSystemService(String) כדי לאחזר SdkSandboxManager לאינטראקציה עם ערכות ה-SDK ששייכות לאפליקציית הלקוח הזו.

int SDK_SANDBOX_STATE_DISABLED

ה-Sandbox של ה-SDK מושבת.

int SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION

ה-Sandbox של ה-SDK מופעל.

שיטות ציבוריות

void addSdkSandboxProcessDeathCallback(Executor callbackExecutor, SdkSandboxManager.SdkSandboxProcessDeathCallback callback)

הוספת קריאה חוזרת (callback) שנרשמת לאירועי מחזור חיים של ארגז חול ב-SDK, כמו Sandbox של SDK מוות.

void addSyncedSharedPreferencesKeys(Set<String> keys)

הוספת מפתחות לקבוצת מפתחות שמסונכרנים מברירת המחדל של האפליקציה SharedPreferences ל-SDK Sandbox.

List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces()

אחזור רשימה של AppOwnedSdkSandboxInterface שנרשמו לאפליקציה

List<SandboxedSdk> getSandboxedSdks()

אחזור מידע על ערכות SDK שנטענות ב-Sandbox.

static int getSdkSandboxState()

הפונקציה מחזירה את המצב הנוכחי של הזמינות של תכונת ה-Sandbox של ה-SDK.

Set<String> getSyncedSharedPreferencesKeys()

הפונקציה מחזירה את המפתחות המוגדרים שמסונכרנים מברירת המחדל של האפליקציה SharedPreferences ל- את ה-Sandbox של ה-SDK.

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

טוענת את ה-SDK בתהליך Java של ארגז חול של SDK.

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)

המפתחות שהוסרו יימחקו מ-Sandbox של ה-SDK אם הם כבר סונכרנו.

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

שולחת ל-SDK בקשה לחבילת פלטפורמה.

void startSdkSandboxActivity(Activity fromActivity, IBinder sdkActivityToken)

הפעולה מפעילה Activity ב-Sandbox של ה-SDK.

void unloadSdk(String sdkName)

מסירה את ערכת ה-SDK שנטענה בעבר על ידי מבצע הקריאה החוזרת.

void unregisterAppOwnedSdkSandboxInterface(String name)

מבטל את הרישום של ERROR(/AppOwnedSdkSandboxInterfaces) לתהליך של אפליקציה.

שיטות שעברו בירושה

קבועים

⁄_DISPLAY_ID

public static final String EXTRA_DISPLAY_ID

שם המפתח שבו יש להשתמש בשדות החבילה של requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver), הערך שלו צריך להגדיר את המזהה השלם של הלוגיקה הלוגית. תצוגה כדי להציג את SurfacePackage.

ערך קבוע: " android.app.sdksandbox.extra.DISPLAY_ID"

Additional_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"

VAR_HOST_TOKEN

public static final String EXTRA_HOST_TOKEN

שם המפתח שבו יש להשתמש בשדות החבילה של requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver). הערך שלו צריך להציג את האסימון שהוחזר על ידי SurfaceView.getHostToken() אחרי שהערך של SurfaceView נוסף להיררכיית התצוגות. כדי להפעיל דיווח על מקרי ANR, אפשר להשתמש רק בערך שאינו null.

ערך קבוע: "android.app.sdksandbox.extra.HOST_TOKEN"

Additional_SURFACE_PACKAGE

public static final String EXTRA_SURFACE_PACKAGE

שם המפתח בחבילה שמועבר לפונקציה onResult של OutcomeReceiver, שהוא השדה requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver), והערך שלו הוא SurfacePackage המבוקש.

ערך קבוע: 'android.app.sdksandbox.extra.SURFACE_PACKAGE'

VAR_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 כבר נטענה.

זה סימן שאפליקציית הלקוח ניסתה לטעון מחדש את אותו SDK על ידי קריאה ל-loadSdk(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) לאחר נטען בהצלחה.

ערך קבוע: 101 (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 לא נמצאה.

הקוד הזה מצביע על כך שאפליקציית הלקוח ניסתה לטעון SDK שלא קיים באמצעות קריאה ל-loadSdk(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver).

ערך קבוע: 100 (0x00000064)

LOAD_SDK_SDK_DEFINED_ERROR

public static final int LOAD_SDK_SDK_DEFINED_ERROR

אירעה שגיאת SDK לאחר הטעינה.

קוד השגיאה מעיד על כך שאירעה שגיאה ב-SDK במהלך אתחול לאחר הטעינה. אפשר לקבל פרטים כאלה מהחבילה שהוחזרה ב-LoadSdkException דרך OutcomeReceiver הועבר אל SdkSandboxManager#loadSdk.

ערך קבוע: 102 (0x00000066)

LOAD_SDK_SDK_SANDBOX_DISABLED

public static final int LOAD_SDK_SDK_SANDBOX_DISABLED

ה-Sandbox של ה-SDK מושבת.

הסטטוס הזה מצביע על כך שה-Sandbox של ה-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

ערכת ה-SDK לא נטענת כשמבקשים SurfacePackage.

הפעולה הזו מציינת שה-SDK שעבורו נשלחה הבקשה ל-SurfacePackage לא כי ארגז החול מת או כי הוא לא נטען מלכתחילה.

ערך קבוע: 701 (0x000002bd)

SDK_SANDBOX_processing_NOT_AVAILABLE

public static final int SDK_SANDBOX_PROCESS_NOT_AVAILABLE

תהליך ה-Sandbox של ה-SDK לא זמין.

זה סימן שתהליך ה-Sandbox של ה-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

ה-Sandbox של ה-SDK מושבת.

SdkSandboxManager ממשקי API מוסתרים. ניסיונות להתקשר אליו יובילו לUnsupportedOperationException.

ערך קבוע: 0 (0x00000000)

SDK_SANDBOX_STATE_ enabled_processing_ISOLATION

public static final int SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION

ה-Sandbox של ה-SDK מופעל.

האפליקציה יכולה להשתמש בממשקי API של SdkSandboxManager כדי לטעון SDKs שהיא תלויה תהליך ה-Sandbox של ה-SDK התואם.

ערך קבוע: 2 (0x00000002)

שיטות ציבוריות

addSdkSandboxProcessDeathCallback

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

הוספת קריאה חוזרת (callback) שנרשמת לאירועי מחזור חיים של ארגז חול ב-SDK, כמו Sandbox של SDK מוות. אם ארגז החול עוד לא נוצר בזמן הקריאה, הבקשה מאוחסנים עד שארגז חול נוצר, ואז הוא יופעל באותו ארגז חול. יותר מאחת ניתן להוסיף קריאות חוזרות (callback) כדי לזהות מוות, והן לא יוסרו כשארגז החול יכבה.

פרמטרים
callbackExecutor Executor: ה-Executor שבו תופעל הקריאה החוזרת הערך הזה לא יכול להיות null. אירועי קריאה חוזרת ואירועי האזנה נשלחים באמצעות Executor, דרך קלה לקבוע איזה שרשור בשימוש. כדי לשלוח אירועים דרך ה-thread הראשי אפשר להשתמש Context.getMainExecutor() אם לא, צריך לציין Executor ששולח לשרשור מתאים.

callback SdkSandboxManager.SdkSandboxProcessDeathCallback: ה-SdkSandboxProcessDeathCallback שיקבל את ארגז החול של ה-SDK אירועים במחזור החיים. הערך הזה לא יכול להיות null.

addSyncedSharedPreferencesKeys

public void addSyncedSharedPreferencesKeys (Set<String> keys)

הוספת מפתחות לקבוצת מפתחות שמסונכרנים מברירת המחדל של האפליקציה SharedPreferences ל-SDK Sandbox.

נתונים מסונכרנים יהיו זמינים לקריאה לערכות SDK באמצעות ה-API של SdkSandboxController.getClientSharedPreferences().

כדי להפסיק את הסנכרון של מפתח שנוסף באמצעות ה-API הזה, צריך להשתמש ב-removeSyncedSharedPreferencesKeys(java.util.Set).

הסנכרון יופסק אם האפליקציה תופעל מחדש והמשתמש יצטרך לקרוא שוב ל-API הזה כדי לבנות את המאגר מחדש של מפתחות לסנכרון.

הערה: הכיתה הזו לא תומכת בשימוש בכמה תהליכים.

פרמטרים
keys Set: קבוצת מפתחות שיסונכרנו עם Sandbox. הערך הזה לא יכול להיות null.

getAppOwnerSdkSandboxInterfaces

public List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces ()

אחזור רשימה של AppOwnedSdkSandboxInterface שנרשמו לאפליקציה

החזרות
List<AppOwnedSdkSandboxInterface> רשימה ריקה אם המידע להתקשרות לא נמצא במפה. אחרת, רשימה של AppOwnedSdkSandboxInterface הערך הזה לא יכול להיות null.

getSandboxedSdks

public List<SandboxedSdk> getSandboxedSdks ()

אחזור מידע על ערכות SDK שנטענות ב-Sandbox.

החזרות
List<SandboxedSdk> רשימה של SandboxedSdk שמכילה את כל ערכות ה-SDK שנטענו כרגע. הערך הזה לא יכול להיות null.

getSdkSandboxState

public static int getSdkSandboxState ()

הפונקציה מחזירה את המצב הנוכחי של הזמינות של תכונת ה-Sandbox של ה-SDK.

החזרות
int הערך הוא SDK_SANDBOX_STATE_DISABLED, או SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION

getSyncedSharedPreferencesKeys

public Set<String> getSyncedSharedPreferencesKeys ()

הפונקציה מחזירה את המפתחות המוגדרים שמסונכרנים מברירת המחדל של האפליקציה SharedPreferences ל- את ה-Sandbox של ה-SDK.

החזרות
Set<String> הערך הזה לא יכול להיות null.

LoadSdk

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

טוענת את ה-SDK בתהליך Java של ארגז חול של SDK.

טעינה אסינכרונית של ספריית ה-SDK עם sdkName לתהליך ארגז חול של SDK. המתקשר יקבל הודעה דרך receiver.

מבצע הקריאה החוזרת צריך כבר להצהיר על SDKs שזה תלוי במניפסט שלו באמצעות התג <uses-sdk-library>. המתקשר יכול לטעון רק SDKs, תלוי ב-SDK Sandbox.

כשאפליקציית הלקוח טוענת את ערכת ה-SDK הראשונה, תתבצע הרצה של תהליך חדש של ארגז חול (Sandbox) ל-SDK נוצר. אם כבר נוצר Sandbox לאפליקציית הלקוח, ערכות SDK נוספות ייטענו לאותו ארגז חול.

ניתן להפעיל את ה-API הזה רק בזמן שהמתקשר פועל בחזית. שיחות מ- התוצאה תהיה ברקע LoadSdkException בreceiver.

פרמטרים
sdkName String: השם של ה-SDK לטעינה. הערך הזה לא יכול להיות null.

params Bundle: פרמטרים נוספים שיועברו ל-SDK בפורמט של Bundle כפי שהוסכם בין הלקוח לבין ה-SDK. הערך הזה לא יכול להיות null.

executor Executor: ה-Executor שאליו יש להפעיל את המקבל. הערך הזה לא יכול להיות null. אירועי קריאה חוזרת ואירועי האזנה נשלחים באמצעות Executor, דרך קלה לקבוע איזה שרשור בשימוש. כדי לשלוח אירועים דרך ה-thread הראשי אפשר להשתמש Context.getMainExecutor() אם לא, צריך לציין Executor ששולח לשרשור מתאים.

receiver OutcomeReceiver: הפרמטר הזה מקבל SandboxedSdk בהפעלה מוצלחת, או LoadSdkException. הערך הזה לא יכול להיות null.

רישוםAppOwnerSdkSandboxInterface

public void registerAppOwnedSdkSandboxInterface (AppOwnedSdkSandboxInterface appOwnedSdkSandboxInterface)

רושם את AppOwnedSdkSandboxInterface לתהליך אפליקציה.

רישום של AppOwnedSdkSandboxInterface שיש לו שם זהה לזה של בעבר בממשק רשום, התוצאה תהיה IllegalStateException.

AppOwnedSdkSandboxInterface#getName() הוא שם הממשק.

פרמטרים
appOwnedSdkSandboxInterface AppOwnedSdkSandboxInterface: ה-App OwnerSdkSandboxInterface להרשמה הערך הזה לא יכול להיות null.

removeSdkSandboxProcessDeathCallback

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

public void removeSyncedSharedPreferencesKeys (Set<String> keys)

הסרת מפתחות מקבוצת מפתחות שנוספו באמצעות addSyncedSharedPreferencesKeys(java.util.Set)

המפתחות שהוסרו יימחקו מ-Sandbox של ה-SDK אם הם כבר סונכרנו.

פרמטרים
keys Set: קבוצה של שמות מפתחות שכבר לא צריכים להיות מסונכרנים עם Sandbox. הערך הזה לא יכול להיות null.

requestSurfacePackage

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

שולחת ל-SDK בקשה לחבילת פלטפורמה.

אחרי שאפליקציית הלקוח מקבלת אות לגבי טעינת SDK מוצלחת, הוסיף SurfaceView להיררכיית התצוגות, הוא עשוי לבקש באופן אסינכרוני SurfacePackage כדי לעבד תצוגה מפורטת מה-SDK.

כשה-SurfacePackage יהיה מוכן, הקריאה החוזרת (callback) של OutcomeReceiver#onResult של receiver שהועבר יופעל. הקריאה החוזרת (callback) הזו תכיל 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 הזה רק בזמן שהמתקשר פועל בחזית. שיחות מ- הרקע יגרום להחזרת RequestSurfacePackage ולשפר את ההגדרה של receiver.

פרמטרים
sdkName String: השם של ה-SDK שנטען ל-Sandbox של ה-SDK. הערך הזה לא יכול להיות null.

params Bundle: הפרמטרים שאפליקציית הלקוח מעבירה ל-SDK. הערך הזה לא יכול להיות null.

callbackExecutor Executor: ה-Executor שבו תופעל הקריאה החוזרת הערך הזה לא יכול להיות null. אירועי קריאה חוזרת ואירועי האזנה נשלחים באמצעות Executor, דרך קלה לקבוע איזה שרשור בשימוש. כדי לשלוח אירועים דרך ה-thread הראשי אפשר להשתמש Context.getMainExecutor() אם לא, צריך לציין Executor ששולח לשרשור מתאים.

receiver OutcomeReceiver: הפעולה הזו מחזירה Bundle עם הצלחה שתכיל את המפתח SdkSandboxManager#EXTRA_SURFACE_PACKAGE עם ערך SurfacePackage, או RequestSurfacePackageException נכשל. הערך הזה לא יכול להיות null.

קליעות
IllegalArgumentException אם params לא מכיל את כל המפתחות הנדרשים.

startSdkSandboxActivity

public void startSdkSandboxActivity (Activity fromActivity, 
                IBinder sdkActivityToken)

הפעולה מפעילה Activity ב-Sandbox של ה-SDK.

הפונקציה הזו תתחיל Activity חדש באותה משימה של fromActivity שהועברה ותעביר אותו ל-SDK ששיתף את קובץ ה-sdkActivityToken שהועבר מזהה בקשה מאותה ערכת SDK כדי לקבע את ה-Activity הזה.

Activity לא יתחיל במקרים הבאים:

  • האפליקציה שולחת קריאה ל-API הזה ברקע.
  • ערך ה-sdkActivityToken שהועבר לא תואם לבקשה של Activity ליצור את ה-SDK ששותף עם אפליקציית המתקשר/ת.
  • ערכת ה-SDK ששותפה את sdkActivityToken שהועבר הסירה את הבקשה הזו Activity.
  • ארגז החול Activity כבר נוצר.

פרמטרים
fromActivity Activity: הActivity ישמש להפעלת ארגז החול החדש Activity על ידי קריאה של Activity#startActivity(Intent) אליו. הערך הזה לא יכול להיות null.

sdkActivityToken IBinder: המזהה שמשותף על ידי ה-SDK שמבקש את Activity. הערך הזה לא יכול להיות 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.

ביטול הרישוםAppOwnerSdkSandboxInterface

public void unregisterAppOwnedSdkSandboxInterface (String name)

מבטל את הרישום של ERROR(/AppOwnedSdkSandboxInterfaces) לתהליך של אפליקציה.

פרמטרים
name String: השם שבו רשום AppOwnerSdkSandboxInterface. הערך הזה לא יכול להיות null.