SandboxedSdkProvider

public abstract class SandboxedSdkProvider
extends Object

java.lang.Object
android.app.sdksandbox.SandboxedSdkProvider


ห่อหุ้ม API ที่แซนด์บ็อกซ์ SDK สามารถใช้เพื่อโต้ตอบกับ SDK ที่โหลดลงไป

SDK ต้องใช้คลาสนามธรรมนี้เพื่อสร้างจุดแรกเข้าเพื่อให้แซนด์บ็อกซ์ SDK สามารถ เพื่อเรียกผ่าน

สรุป

ช่างก่อสร้างสาธารณะ

SandboxedSdkProvider()

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

final void attachContext(Context context)

ตั้งค่า SDK Context ซึ่งรับได้โดยใช้ getContext()

void beforeUnloadSdk()

SDK จำเป็นต้องทำให้ทรัพยากรว่างก่อนที่จะยกเลิกการโหลดหรือไม่

final Context getContext()

แสดงผล Context ที่ตั้งค่าไว้ก่อนหน้านี้ผ่าน SandboxedSdkProvider#attachContext

abstract View getView(Context windowContext, Bundle params, int width, int height)

ส่งคำขอให้แสดงผลกระบวนการของแอปไคลเอ็นต์จากระยะไกล

abstract SandboxedSdk onLoadSdk(Bundle params)

งานที่จำเป็นเพื่อให้ SDK เริ่มจัดการคำขอหรือไม่

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

ช่างก่อสร้างสาธารณะ

SandboxedSdkProvider

เพิ่มใน API ระดับ 34
ยังมีในส่วนขยายโฆษณา 4 ด้วย
public SandboxedSdkProvider ()

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

แนบบริบท

เพิ่มใน API ระดับ 34
ยังมีในส่วนขยายโฆษณา 4 ด้วย
public final void attachContext (Context context)

ตั้งค่า SDK Context ซึ่งรับได้โดยใช้ getContext() มีการเรียกใช้ก่อนที่ onLoadSdk(Bundle) จะเรียกใช้ ไม่มีการดำเนินการที่ต้องใช้ Context จะดำเนินการก่อนเวลาดังกล่าว เนื่องจาก SandboxedSdkProvider#getContext จะแสดงผลค่าว่างจนถึง มีการเรียกใช้เมธอดนี้แล้ว

แสดง IllegalStateException หากตั้งค่าบริบทพื้นฐานแล้ว

พารามิเตอร์
context Context: บริบทฐานใหม่ ค่านี้ต้องไม่เป็น null

beforeUnloadSdk (ก่อนยกเลิกการโหลด SDK)

เพิ่มใน API ระดับ 34
ยังมีในส่วนขยายโฆษณา 4 ด้วย
public void beforeUnloadSdk ()

SDK จำเป็นต้องทำให้ทรัพยากรว่างก่อนที่จะยกเลิกการโหลดหรือไม่

เครื่องมือจัดการแซนด์บ็อกซ์ SDK เรียกใช้ฟังก์ชันนี้ก่อนที่จะยกเลิกการโหลด SDK SDK ควรล้มเหลวในการเรียกใช้บน Binder ที่ส่งกลับไปยังไคลเอ็นต์ก่อนหน้านี้ผ่านทาง SandboxedSdk.getInterface()

SDK ไม่ควรทำงานที่ใช้เวลานานที่นี่ เช่น I/O และการเรียกใช้เครือข่าย

getContext

เพิ่มใน API ระดับ 34
ยังมีในส่วนขยายโฆษณา 4 ด้วย
public final Context getContext ()

แสดงผล Context ที่ตั้งค่าไว้ก่อนหน้านี้ผ่าน SandboxedSdkProvider#attachContext การดำเนินการนี้จะแสดงผลเป็น Null หากไม่ได้ตั้งค่าบริบทไว้ก่อนหน้านี้

คิกรีเทิร์น
Context

getView

เพิ่มใน API ระดับ 34
ยังมีในส่วนขยายโฆษณา 4 ด้วย
public abstract View getView (Context windowContext, 
                Bundle params, 
                int width, 
                int height)

ส่งคำขอให้แสดงผลกระบวนการของแอปไคลเอ็นต์จากระยะไกล

การคืนสินค้า View จะรวมอยู่ใน SurfacePackage ระบบจะส่ง SurfacePackage ที่ได้กลับไปยังแอปพลิเคชันไคลเอ็นต์

SDK ไม่ควรทำงานที่ใช้เวลานานที่นี่ เช่น I/O และการเรียกใช้เครือข่าย ดังนั้น สามารถป้องกันไม่ให้ SDK ได้รับคำขอจากไคลเอ็นต์

พารามิเตอร์
windowContext Context: Context ของจอแสดงผลซึ่งมีไว้เพื่อแสดงมุมมอง ค่านี้ต้องไม่เป็น null

params Bundle: รายการพารามิเตอร์ที่ส่งผ่านจากแอปพลิเคชันไคลเอ็นต์ที่ขอมุมมอง ค่านี้ต้องไม่เป็น null

width int: มุมมองที่แสดงผลจะวางราวกับว่าอยู่ในหน้าต่างที่มีความกว้างนี้ มีหน่วยเป็นพิกเซล

height int: มุมมองที่แสดงผลจะวางราวกับว่าอยู่ในหน้าต่างที่มีความสูงนี้ มีหน่วยเป็นพิกเซล

คิกรีเทิร์น
View View ซึ่งจะส่งแซนด์บ็อกซ์ SDK ไปยังแอปพลิเคชันไคลเอ็นต์เพื่อขอมุมมอง ค่านี้ต้องไม่เป็น null

onLoadSdk

เพิ่มใน API ระดับ 34
ยังมีในส่วนขยายโฆษณา 4 ด้วย
public abstract SandboxedSdk onLoadSdk (Bundle params)

งานที่จำเป็นเพื่อให้ SDK เริ่มจัดการคำขอหรือไม่

แซนด์บ็อกซ์ SDK เรียกใช้ฟังก์ชันนี้หลังจากโหลด SDK

SDK ควรทำทุกอย่างเพื่อเตรียมพร้อมจัดการคำขอที่กำลังจะเกิดขึ้น ไม่ควรส่งผลใดๆ งานที่ใช้เวลานาน เช่น I/O และการเรียกใช้เครือข่าย การทำเช่นนี้จะป้องกันไม่ให้ SDK ได้รับคำขอจากไคลเอ็นต์ นอกจากนี้ ยังไม่ควรเริ่มต้น ขึ้นอยู่กับ SDK อื่นๆ ที่โหลดลงในแซนด์บ็อกซ์ของ SDK

SDK ไม่ควรดำเนินการใดๆ ที่ต้องใช้ออบเจ็กต์ Context ก่อนวิธีการนี้ ถูกเรียกแล้ว

พารามิเตอร์
params Bundle: รายการพารามิเตอร์ที่ส่งผ่านจากไคลเอ็นต์เมื่อโหลด SDK เว้นว่างไว้ได้ ค่านี้ต้องไม่เป็น null

คิกรีเทิร์น
SandboxedSdk แสดงผล SandboxedSdk ซึ่งส่งคืนไปยังไคลเอ็นต์ IBinder ที่ใช้สร้าง ไคลเอ็นต์จะใช้ออบเจ็กต์ SandboxedSdk เพื่อเรียกเข้าสู่ SDK ค่านี้ต้องไม่เป็น null

การขว้าง
LoadSdkException