SDK แซนด์บ็อกซ์ตัวควบคุม

public class SdkSandboxController
extends Object

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


ตัวควบคุมที่ใช้โดย SDK ซึ่งโหลดในแซนด์บ็อกซ์เพื่อเข้าถึงข้อมูลที่ SDK ระบุไว้ แซนด์บ็อกซ์

ช่วยให้ SDK สื่อสารกับ SDK อื่นๆ ในแซนด์บ็อกซ์ของ SDK และทราบเกี่ยวกับสถานะได้ SDK ที่โหลดไว้ในนั้น

รับอินสแตนซ์ของ SdkSandboxController ได้โดยใช้ Context.getSystemService(Class) และ class และ Context ก็สามารถ จะรับได้โดยใช้ SandboxedSdkProvider.getContext()

สรุป

ค่าคงที่

String SDK_SANDBOX_CONTROLLER_SERVICE

วิธีการสาธารณะ

List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces()

ดึงข้อมูล AppOwnedSdkSandboxInterface ทั้งหมดที่ลงทะเบียนโดยแอป

String getClientPackageName()

แสดงผลชื่อแพ็กเกจของแอปไคลเอ็นต์

SharedPreferences getClientSharedPreferences()

แสดงผล SharedPreferences ที่มีข้อมูลที่ซิงค์จากแอปไคลเอ็นต์

List<SandboxedSdk> getSandboxedSdks()

ดึงข้อมูลเกี่ยวกับ SDK ที่โหลดในแซนด์บ็อกซ์

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

โหลด SDK ในกระบวนการ Java แซนด์บ็อกซ์ SDK

IBinder registerSdkSandboxActivityHandler(SdkSandboxActivityHandler sdkSandboxActivityHandler)

แสดงผลตัวระบุสำหรับ SdkSandboxActivityHandler หลังจากลงทะเบียน

void unregisterSdkSandboxActivityHandler(SdkSandboxActivityHandler sdkSandboxActivityHandler)

ยกเลิกการลงทะเบียน SdkSandboxActivityHandler ที่ลงทะเบียนไว้แล้ว

วิธีการที่รับมา

ค่าคงที่

SDK_SANDBOX_ControlLER_SERVICE

public static final String SDK_SANDBOX_CONTROLLER_SERVICE

มูลค่าคงที่: "sdk_sandbox_controller_service"

วิธีการสาธารณะ

อินเทอร์เฟซ getAppเป็นเจ้าของโดเมนSdkSandbox

public List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces ()

ดึงข้อมูล AppOwnedSdkSandboxInterface ทั้งหมดที่ลงทะเบียนโดยแอป

คิกรีเทิร์น
List<AppOwnedSdkSandboxInterface> รายชื่อ AppOwnedSdkSandboxInterface ที่มีทั้งหมดที่ลงทะเบียนในปัจจุบัน AppManagedSdkSandboxInterface ค่านี้ต้องไม่เป็น null

การขว้าง
UnsupportedOperationException หากตัวควบคุมมาจากอุปกรณ์ที่ไม่คาดคิด บริบท ใช้ SandboxedSdkProvider#getContext() สำหรับบริบทที่เหมาะสม

ชื่อแพ็กเกจ getClient

public String getClientPackageName ()

แสดงผลชื่อแพ็กเกจของแอปไคลเอ็นต์

คิกรีเทิร์น
String ค่านี้ต้องไม่เป็น null

การขว้าง
UnsupportedOperationException หากตัวควบคุมมาจากอุปกรณ์ที่ไม่คาดคิด บริบท ใช้ SandboxedSdkProvider#getContext() สำหรับบริบทที่เหมาะสม

ค่ากำหนด getClientShared

public SharedPreferences getClientSharedPreferences ()

แสดงผล SharedPreferences ที่มีข้อมูลที่ซิงค์จากแอปไคลเอ็นต์

คีย์ที่ซิงค์โดยแอปไคลเอ็นต์โดยใช้ SdkSandboxManager.addSyncedSharedPreferencesKeys(Set) จะอยู่ใน SharedPreferences นี้

ควรอ่าน SharedPreferences ที่แสดงผลเท่านั้น การเขียนถึง ที่รองรับ

คิกรีเทิร์น
SharedPreferences SharedPreferences มีข้อมูลที่ซิงค์จากแอปไคลเอ็นต์ ค่านี้ต้องไม่เป็น null

การขว้าง
UnsupportedOperationException หากตัวควบคุมมาจากอุปกรณ์ที่ไม่คาดคิด บริบท ใช้ SandboxedSdkProvider#getContext() สำหรับบริบทที่เหมาะสม

getSandboxedSdks

public List<SandboxedSdk> getSandboxedSdks ()

ดึงข้อมูลเกี่ยวกับ SDK ที่โหลดในแซนด์บ็อกซ์

คิกรีเทิร์น
List<SandboxedSdk> รายการ SandboxedSdk ที่มี SDK ทั้งหมดที่โหลดในปัจจุบัน ค่านี้ต้องไม่เป็น null

การขว้าง
UnsupportedOperationException หากตัวควบคุมมาจากอุปกรณ์ที่ไม่คาดคิด บริบท ใช้ SandboxedSdkProvider#getContext() สำหรับบริบทที่เหมาะสม

loadSdk

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

โหลด SDK ในกระบวนการ Java แซนด์บ็อกซ์ SDK

โหลดไลบรารี SDK ด้วย sdkName ไปยังกระบวนการแซนด์บ็อกซ์ SDK แบบไม่พร้อมกัน ผู้โทรจะได้รับการแจ้งเตือนผ่าน receiver

ผู้โทรอาจโหลดเฉพาะ SDKs ที่แอปไคลเอ็นต์ใช้ในแซนด์บ็อกซ์ของ SDK เท่านั้น

พารามิเตอร์
sdkName String: ชื่อของ SDK ที่จะโหลด ค่านี้ต้องไม่เป็น null

params Bundle: พารามิเตอร์เพิ่มเติมที่จะส่งไปให้ SDK ในรูปแบบ Bundle ตามที่ตกลงกันระหว่างลูกค้าและ SDK ค่านี้ต้องไม่เป็น null

executor Executor: Executor ที่จะเรียกใช้ตัวรับ ค่านี้ต้องไม่เป็น null ระบบจะส่งเหตุการณ์ Callback และ Listener ผ่านสิ่งนี้ Executor มอบวิธีง่ายๆ ในการควบคุมชุดข้อความที่ ในการส่งกิจกรรมผ่านชุดข้อความหลักของ คุณสามารถใช้ Context.getMainExecutor() หรือระบุ Executor ที่ส่งไปยังชุดข้อความที่เหมาะสม

receiver OutcomeReceiver: ตัวเลือกนี้จะได้รับ SandboxedSdk เมื่อเรียกใช้สำเร็จ หรือ LoadSdkException ค่านี้ต้องไม่เป็น null

การขว้าง
UnsupportedOperationException หากตัวควบคุมมาจากอุปกรณ์ที่ไม่คาดคิด บริบท ใช้ SandboxedSdkProvider#getContext() สำหรับบริบทที่เหมาะสม

RegisterSdkSandboxActivityHandler

เพิ่มใน API ระดับ 34
มีอยู่ในส่วนขยายโฆษณา 7 ด้วย
public IBinder registerSdkSandboxActivityHandler (SdkSandboxActivityHandler sdkSandboxActivityHandler)

แสดงผลตัวระบุสำหรับ SdkSandboxActivityHandler หลังจากลงทะเบียน

ฟังก์ชันนี้จะลงทะเบียนการใช้งาน SdkSandboxActivityHandler ที่สร้างโดย SDK และแสดงผล IBinder ซึ่งระบุออบเจ็กต์ SdkSandboxActivityHandler ที่ส่งผ่านโดยไม่ซ้ำกัน

หากมีการลงทะเบียน SdkSandboxActivityHandler เดียวกันหลายครั้งโดยไม่มี กำลังยกเลิกการลงทะเบียน ระบบจะแสดงผลโทเค็น IBinder เดียวกัน

พารามิเตอร์
sdkSandboxActivityHandler SdkSandboxActivityHandler: เป็นSdkSandboxActivityHandlerที่ใช้ลงทะเบียน ค่านี้ต้องไม่เป็น null

คิกรีเทิร์น
IBinder IBinder จะระบุ SdkSandboxActivityHandler ที่ผ่านการตรวจสอบโดยไม่ซ้ำกัน ค่านี้ต้องไม่เป็น null

unregisterSdkSandboxActivityHandler

เพิ่มใน API ระดับ 34
มีอยู่ในส่วนขยายโฆษณา 7 ด้วย
public void unregisterSdkSandboxActivityHandler (SdkSandboxActivityHandler sdkSandboxActivityHandler)

ยกเลิกการลงทะเบียน SdkSandboxActivityHandler ที่ลงทะเบียนไว้แล้ว

หากลงทะเบียน SdkSandboxActivityHandler ที่ผ่านแล้ว ระบบจะยกเลิกการลงทะเบียนนั้น มิเช่นนั้น จะไม่ดำเนินการใดๆ

หลังจากยกเลิกการลงทะเบียนแล้ว SDK สามารถลงทะเบียนออบเจ็กต์ของตัวแฮนเดิลเดิมอีกครั้ง หรือสร้างออบเจ็กต์ใหม่ใน ต้องการ Activity ใหม่

หากโทเค็น IBinder ของเครื่องจัดการที่ไม่ได้ลงทะเบียนใช้ในการเริ่มต้น Activity Activity จะไม่สามารถเริ่มต้นได้

พารามิเตอร์
sdkSandboxActivityHandler SdkSandboxActivityHandler: เป็นSdkSandboxActivityHandlerที่จะยกเลิกการลงทะเบียน ค่านี้ต้องไม่เป็น null

คิกรีเทิร์น
void ค่านี้ต้องไม่เป็น null