SdkSandboxManager

public final class SdkSandboxManager
extends Object

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


Menyediakan API untuk memuat SDKs ke dalam proses sandbox SDK, lalu berinteraksi dengannya.

Sandbox SDK adalah proses java yang berjalan dalam rentang uid terpisah. Setiap aplikasi mungkin memiliki proses sandbox SDK-nya sendiri.

Aplikasi harus terlebih dahulu mendeklarasikan SDK yang menjadi dependensinya dalam manifesnya menggunakan tag <uses-sdk-library>. Aplikasi hanya dapat memuat SDK yang menjadi dependensinya ke dalam sandbox SDK.

Ringkasan

Class bertingkat

interface SdkSandboxManager.SdkSandboxProcessDeathCallback

Callback untuk melacak penghentian sandbox SDK peristiwa. 

Konstanta

String EXTRA_DISPLAY_ID

Nama kunci yang akan digunakan dalam kolom Paket requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver), nilainya harus menentukan ID bilangan bulat dari tampilan logis untuk menampilkan SurfacePackage.

String EXTRA_HEIGHT_IN_PIXELS

Nama kunci yang akan digunakan dalam kolom Paket requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver), nilainya harus menentukan tinggi bilangan bulat SurfacePackage dalam piksel.

String EXTRA_HOST_TOKEN

Nama kunci yang akan digunakan di kolom Paket requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver), nilainya harus menampilkan token yang ditampilkan oleh SurfaceView.getHostToken() setelah SurfaceView ditambahkan ke hierarki tampilan.

String EXTRA_SURFACE_PACKAGE

Nama kunci dalam Paket yang diteruskan ke fungsi onResult dari OutcomeReceiver yang merupakan kolom requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver), nilainya menyajikan SurfacePackage yang diminta.

String EXTRA_WIDTH_IN_PIXELS

Nama kunci yang akan digunakan dalam kolom Paket requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver), nilainya harus menentukan lebar bilangan bulat SurfacePackage dalam piksel.

int LOAD_SDK_ALREADY_LOADED

SDK sudah dimuat.

int LOAD_SDK_INTERNAL_ERROR

Terjadi error internal saat memuat SDK.

int LOAD_SDK_NOT_FOUND

SDK tidak ditemukan.

int LOAD_SDK_SDK_DEFINED_ERROR

Error SDK setelah dimuat.

int LOAD_SDK_SDK_SANDBOX_DISABLED

Sandbox SDK dinonaktifkan.

int REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR

Terjadi error internal saat meminta SurfacePackage.

int REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED

SDK tidak dimuat saat meminta SurfacePackage.

int SDK_SANDBOX_PROCESS_NOT_AVAILABLE

Proses sandbox SDK tidak tersedia.

String SDK_SANDBOX_SERVICE

Gunakan dengan Context#getSystemService(String) untuk mengambil SdkSandboxManager guna berinteraksi dengan SDK milik aplikasi klien ini.

int SDK_SANDBOX_STATE_DISABLED

Sandbox SDK dinonaktifkan.

int SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION

Sandbox SDK diaktifkan.

Metode publik

void addSdkSandboxProcessDeathCallback(Executor callbackExecutor, SdkSandboxManager.SdkSandboxProcessDeathCallback callback)

Menambahkan callback yang terdaftar untuk peristiwa siklus proses sandbox SDK, seperti penghentian sandbox SDK.

void addSyncedSharedPreferencesKeys(Set<String> keys)

Menambahkan kunci ke kumpulan kunci yang disinkronkan dari SharedPreferences default aplikasi ke sandbox SDK.

List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces()

Mengambil daftar AppOwnedSdkSandboxInterface yang terdaftar untuk aplikasi

List<SandboxedSdk> getSandboxedSdks()

Mengambil informasi tentang SDK yang dimuat di sandbox.

static int getSdkSandboxState()

Menampilkan status ketersediaan fitur sandbox SDK saat ini.

Set<String> getSyncedSharedPreferencesKeys()

Menampilkan kunci kumpulan yang disinkronkan dari SharedPreferences default aplikasi ke sandbox SDK.

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

Memuat SDK dalam proses java sandbox SDK.

void registerAppOwnedSdkSandboxInterface(AppOwnedSdkSandboxInterface appOwnedSdkSandboxInterface)

Mendaftarkan AppOwnedSdkSandboxInterface untuk proses aplikasi.

void removeSdkSandboxProcessDeathCallback(SdkSandboxManager.SdkSandboxProcessDeathCallback callback)

Menghapus SdkSandboxProcessDeathCallback yang sebelumnya ditambahkan menggunakan addSdkSandboxProcessDeathCallback(java.util.concurrent.Executor, android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback)

void removeSyncedSharedPreferencesKeys(Set<String> keys)

Menghapus kunci dari kumpulan kunci yang telah ditambahkan menggunakan addSyncedSharedPreferencesKeys(java.util.Set)

Kunci yang dihapus akan dihapus dari sandbox SDK jika sudah disinkronkan.

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

Mengirim permintaan untuk paket platform ke SDK.

void startSdkSandboxActivity(Activity fromActivity, IBinder sdkActivityToken)

Memulai Activity di sandbox SDK.

void unloadSdk(String sdkName)

Menghapus pemuatan SDK yang sebelumnya telah dimuat oleh pemanggil.

void unregisterAppOwnedSdkSandboxInterface(String name)

Membatalkan pendaftaran ERROR(/AppOwnedSdkSandboxInterfaces) untuk proses aplikasi.

Metode turunan

Konstanta

{i>EXTRA_DISPLAY_ID<i}

Ditambahkan di API level 34
Juga di Ekstensi Layanan Iklan 4
public static final String EXTRA_DISPLAY_ID

Nama kunci yang akan digunakan dalam kolom Paket requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver), nilainya harus menentukan ID bilangan bulat dari tampilan logis untuk menampilkan SurfacePackage.

Nilai Konstanta: "android.app.sdksandbox.extra.DISPLAY_ID"

PIXEL_TINGGI_EKSTRA

Ditambahkan di API level 34
Juga di Ekstensi Layanan Iklan 4
public static final String EXTRA_HEIGHT_IN_PIXELS

Nama kunci yang akan digunakan dalam kolom Paket requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver), nilainya harus menentukan tinggi bilangan bulat SurfacePackage dalam piksel.

Nilai Konstanta: "android.app.sdksandbox.extra.HEIGHT_IN_PIXELS"

EXTRA_HOST_TOKEN

Ditambahkan di API level 34
Juga di Ekstensi Layanan Iklan 4
public static final String EXTRA_HOST_TOKEN

Nama kunci yang akan digunakan di kolom Paket requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver), nilainya harus menampilkan token yang ditampilkan oleh SurfaceView.getHostToken() setelah SurfaceView ditambahkan ke hierarki tampilan. Hanya nilai non-null yang diterima untuk mengaktifkan pelaporan ANR.

Nilai Konstanta: "android.app.sdksandbox.extra.HOST_TOKEN"

EXTRA_SURFACE_PACKAGE

Ditambahkan di API level 34
Juga di Ekstensi Layanan Iklan 4
public static final String EXTRA_SURFACE_PACKAGE

Nama kunci dalam Paket yang diteruskan ke fungsi onResult dari OutcomeReceiver yang merupakan kolom requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver), nilainya menyajikan SurfacePackage yang diminta.

Nilai Konstanta: "android.app.sdksandbox.extra.SURFACE_PACKAGE"

PIXEL EKSTRA_WIDTH_IN_PIXEL

Ditambahkan di API level 34
Juga di Ekstensi Layanan Iklan 4
public static final String EXTRA_WIDTH_IN_PIXELS

Nama kunci yang akan digunakan dalam kolom Paket requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver), nilainya harus menentukan lebar bilangan bulat SurfacePackage dalam piksel.

Nilai Konstanta: "android.app.sdksandbox.extra.WIDTH_IN_PIXELS"

LOAD_SDK_ALREADY_LOADED

Ditambahkan di API level 34
Juga di Ekstensi Layanan Iklan 4
public static final int LOAD_SDK_ALREADY_LOADED

SDK sudah dimuat.

Hal ini menunjukkan bahwa aplikasi klien mencoba memuat ulang SDK yang sama dengan memanggil loadSdk(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) setelah berhasil dimuat.

Nilai Konstanta: 101 (0x00000065)

LOAD_SDK_INTERNAL_ERROR

Ditambahkan di API level 34
Juga di Ekstensi Layanan Iklan 4
public static final int LOAD_SDK_INTERNAL_ERROR

Terjadi error internal saat memuat SDK.

Hal ini menunjukkan error internal umum yang terjadi saat menerapkan panggilan dari aplikasi klien.

Nilai Konstanta: 500 (0x000001f4)

LOAD_SDK_NOT_FOUND

Ditambahkan di API level 34
Juga di Ekstensi Layanan Iklan 4
public static final int LOAD_SDK_NOT_FOUND

SDK tidak ditemukan.

Hal ini menunjukkan bahwa aplikasi klien mencoba memuat SDK yang tidak ada dengan memanggil loadSdk(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver).

Nilai Konstanta: 100 (0x00000064)

LOAD_SDK_SDK_DEFINED_ERROR

Ditambahkan di API level 34
Juga di Ekstensi Layanan Iklan 4
public static final int LOAD_SDK_SDK_DEFINED_ERROR

Error SDK setelah dimuat.

Hal ini menunjukkan bahwa SDK mengalami error selama inisialisasi pascapemuatan. Detail hal ini dapat diperoleh dari Paket yang ditampilkan di LoadSdkException melalui OutcomeReceiver yang diteruskan ke SdkSandboxManager#loadSdk.

Nilai Konstanta: 102 (0x00000066)

LOAD_SDK_SDK_SANDBOX_DISABLED

Ditambahkan di API level 34
Juga di Ekstensi Layanan Iklan 4
public static final int LOAD_SDK_SDK_SANDBOX_DISABLED

Sandbox SDK dinonaktifkan.

Hal ini menunjukkan bahwa sandbox SDK dinonaktifkan. Setiap upaya selanjutnya untuk memuat SDK dalam booting ini juga akan gagal.

Nilai Konstanta: 103 (0x00000067)

REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR

Ditambahkan di API level 34
Juga di Ekstensi Layanan Iklan 4
public static final int REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR

Terjadi error internal saat meminta SurfacePackage.

Hal ini menunjukkan error internal generik yang terjadi saat meminta SurfacePackage.

Nilai Konstanta: 700 (0x000002bc)

REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED

Ditambahkan di API level 34
Juga di Ekstensi Layanan Iklan 5
public static final int REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED

SDK tidak dimuat saat meminta SurfacePackage.

Hal ini menunjukkan bahwa SDK yang diminta untuk SurfacePackage tidak dimuat, baik karena sandbox telah mati atau karena tidak dimuat sejak awal.

Nilai Konstanta: 701 (0x000002bd)

SDK_SANDBOX_PROCESS_NOT_AVAILABLE

Ditambahkan di API level 34
Juga di Ekstensi Layanan Iklan 4
public static final int SDK_SANDBOX_PROCESS_NOT_AVAILABLE

Proses sandbox SDK tidak tersedia.

Hal ini menunjukkan bahwa proses sandbox SDK tidak tersedia, baik karena telah mati, terputus, atau tidak dibuat sejak awal.

Nilai Konstanta: 503 (0x000001f7)

SDK_SANDBOX_SERVICE

Ditambahkan di API level 34
Juga di Ekstensi Layanan Iklan 4
public static final String SDK_SANDBOX_SERVICE

Gunakan dengan Context#getSystemService(String) untuk mengambil SdkSandboxManager guna berinteraksi dengan SDK milik aplikasi klien ini.

Nilai Konstanta: "sdk_sandbox"

SDK_SANDBOX_STATE_DISABLED

Ditambahkan di API level 33
Juga di Ekstensi Layanan Iklan 3
public static final int SDK_SANDBOX_STATE_DISABLED

Sandbox SDK dinonaktifkan.

SdkSandboxManager API disembunyikan. Upaya untuk memanggilnya akan menghasilkan UnsupportedOperationException.

Nilai Konstanta: 0 (0x00000000)

SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION

Ditambahkan di API level 33
Juga di Ekstensi Layanan Iklan 3
public static final int SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION

Sandbox SDK diaktifkan.

Aplikasi dapat menggunakan SdkSandboxManager API untuk memuat SDKs yang menjadi dependensinya dalam proses sandbox SDK yang sesuai.

Nilai Konstanta: 2 (0x00000002)

Metode publik

addSdkSandboxProcessDeathCallback

Ditambahkan di API level 34
Juga di Ekstensi Layanan Iklan 4
public void addSdkSandboxProcessDeathCallback (Executor callbackExecutor, 
                SdkSandboxManager.SdkSandboxProcessDeathCallback callback)

Menambahkan callback yang terdaftar untuk peristiwa siklus proses sandbox SDK, seperti penghentian sandbox SDK. Jika sandbox belum dibuat saat fungsi ini dipanggil, permintaan akan disimpan hingga sandbox dibuat, dan pada saat itu sandbox tersebut diaktifkan. Beberapa callback dapat ditambahkan untuk mendeteksi penghentian dan tidak akan dihapus saat sandbox berhenti.

Parameter
callbackExecutor Executor: Executor yang akan memanggil callback Nilai ini tidak boleh null. Peristiwa callback dan pemroses dikirim melalui Executor ini , yang menyediakan cara mudah untuk mengontrol thread yang digunakan. Untuk mengirim peristiwa melalui thread utama aplikasi, Anda dapat menggunakan Context.getMainExecutor(). Jika tidak, berikan Executor yang dikirimkan ke thread yang sesuai.

callback SdkSandboxManager.SdkSandboxProcessDeathCallback: SdkSandboxProcessDeathCallback yang akan menerima peristiwa siklus proses sandbox SDK. Nilai ini tidak boleh null.

addSyncedSharedPreferencesKeys

Ditambahkan di API level 34
Juga di Ekstensi Layanan Iklan 5
public void addSyncedSharedPreferencesKeys (Set<String> keys)

Menambahkan kunci ke kumpulan kunci yang disinkronkan dari SharedPreferences default aplikasi ke sandbox SDK.

Data yang disinkronkan akan tersedia untuk dibaca SDK menggunakan SdkSandboxController.getClientSharedPreferences() API.

Untuk berhenti menyinkronkan kunci apa pun yang telah ditambahkan menggunakan API ini, gunakan removeSyncedSharedPreferencesKeys(java.util.Set).

Sinkronisasi akan terganggu jika aplikasi dimulai ulang dan pengguna harus memanggil API ini lagi untuk membangun ulang kumpulan kunci untuk sinkronisasi.

Catatan: Class ini tidak mendukung penggunaan di beberapa proses.

Parameter
keys Set: kumpulan kunci yang akan disinkronkan ke Sandbox. Nilai ini tidak boleh null.

getAppDimilikiSdkSandboxInterfaces

public List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces ()

Mengambil daftar AppOwnedSdkSandboxInterface yang terdaftar untuk aplikasi

Return
List<AppOwnedSdkSandboxInterface> daftar kosong jika CallsInfo tidak ditemukan di peta jika tidak, daftar AppOwnedSdkSandboxInterface Nilai ini tidak boleh null.

getSandboxedSdks

Ditambahkan di API level 34
Juga di Ekstensi Layanan Iklan 5
public List<SandboxedSdk> getSandboxedSdks ()

Mengambil informasi tentang SDK yang dimuat di sandbox.

Return
List<SandboxedSdk> Daftar SandboxedSdk yang berisi semua SDK yang saat ini dimuat. Nilai ini tidak boleh null.

getSdkSandboxState

Ditambahkan di API level 33
Juga di Ekstensi Layanan Iklan 3
public static int getSdkSandboxState ()

Menampilkan status ketersediaan fitur sandbox SDK saat ini.

Return
int Nilai adalah SDK_SANDBOX_STATE_DISABLED, atau SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION

getSyncedSharedPreferencesKeys

Ditambahkan di API level 34
Juga di Ekstensi Layanan Iklan 5
public Set<String> getSyncedSharedPreferencesKeys ()

Menampilkan kunci kumpulan yang disinkronkan dari SharedPreferences default aplikasi ke sandbox SDK.

Return
Set<String> Nilai ini tidak boleh null.

loadSdk

Ditambahkan di API level 34
Juga di Ekstensi Layanan Iklan 4
public void loadSdk (String sdkName, 
                Bundle params, 
                Executor executor, 
                OutcomeReceiver<SandboxedSdkLoadSdkException> receiver)

Memuat SDK dalam proses java sandbox SDK.

Memuat library SDK dengan sdkName ke proses sandbox SDK secara asinkron. Penelepon akan diberi tahu melalui receiver.

Pemanggil harus sudah mendeklarasikan SDKs yang menjadi dependensinya dalam manifesnya menggunakan tag <uses-sdk-library>. Pemanggil hanya dapat memuat SDKs yang bergantung pada sandbox SDK.

Saat aplikasi klien memuat SDK pertama, proses sandbox SDK baru akan dibuat. Jika sandbox telah dibuat untuk aplikasi klien, SDK tambahan akan dimuat ke dalam sandbox yang sama.

API ini hanya dapat dipanggil saat pemanggil berjalan di latar depan. Panggilan dari latar belakang akan menghasilkan LoadSdkException yang ditampilkan dalam receiver.

Parameter
sdkName String: nama SDK yang akan dimuat. Nilai ini tidak boleh null.

params Bundle: parameter tambahan yang akan diteruskan ke SDK dalam bentuk Bundle seperti yang disepakati antara klien dan SDK. Nilai ini tidak boleh null.

executor Executor: Executor yang akan memanggil penerima. Nilai ini tidak boleh null. Peristiwa callback dan pemroses dikirim melalui Executor ini , yang menyediakan cara mudah untuk mengontrol thread yang digunakan. Untuk mengirim peristiwa melalui thread utama aplikasi, Anda dapat menggunakan Context.getMainExecutor(). Jika tidak, berikan Executor yang dikirimkan ke thread yang sesuai.

receiver OutcomeReceiver: Metode ini akan menerima SandboxedSdk saat berhasil dijalankan, atau LoadSdkException. Nilai ini tidak boleh null.

registerAppDimilikiSdkSandboxInterface

public void registerAppOwnedSdkSandboxInterface (AppOwnedSdkSandboxInterface appOwnedSdkSandboxInterface)

Mendaftarkan AppOwnedSdkSandboxInterface untuk proses aplikasi.

Mendaftarkan AppOwnedSdkSandboxInterface yang memiliki nama yang sama dengan antarmuka yang telah terdaftar sebelumnya akan menghasilkan IllegalStateException.

AppOwnedSdkSandboxInterface#getName() mengacu pada nama antarmuka.

Parameter
appOwnedSdkSandboxInterface AppOwnedSdkSandboxInterface: AppDimilikiSdkSandboxInterface yang akan didaftarkan Nilai ini tidak boleh null.

removeSdkSandboxProcessDeathCallback

Ditambahkan di API level 34
Juga di Ekstensi Layanan Iklan 4
public void removeSdkSandboxProcessDeathCallback (SdkSandboxManager.SdkSandboxProcessDeathCallback callback)

Menghapus SdkSandboxProcessDeathCallback yang sebelumnya ditambahkan menggunakan addSdkSandboxProcessDeathCallback(java.util.concurrent.Executor, android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback)

Parameter
callback SdkSandboxManager.SdkSandboxProcessDeathCallback: SdkSandboxProcessDeathCallback yang sebelumnya ditambahkan menggunakan SdkSandboxManager#addSdkSandboxProcessDeathCallback(Executor, SdkSandboxProcessDeathCallback) Nilai ini tidak boleh null.

removeSyncedSharedPreferencesKeys

Ditambahkan di API level 34
Juga di Ekstensi Layanan Iklan 5
public void removeSyncedSharedPreferencesKeys (Set<String> keys)

Menghapus kunci dari kumpulan kunci yang telah ditambahkan menggunakan addSyncedSharedPreferencesKeys(java.util.Set)

Kunci yang dihapus akan dihapus dari sandbox SDK jika sudah disinkronkan.

Parameter
keys Set: kumpulan nama kunci yang seharusnya tidak lagi disinkronkan ke Sandbox. Nilai ini tidak boleh null.

requestSurfacePackage

Ditambahkan di API level 34
Juga di Ekstensi Layanan Iklan 4
public void requestSurfacePackage (String sdkName, 
                Bundle params, 
                Executor callbackExecutor, 
                OutcomeReceiver<BundleRequestSurfacePackageException> receiver)

Mengirim permintaan untuk paket platform ke SDK.

Setelah aplikasi klien menerima sinyal tentang pemuatan SDK yang berhasil, dan telah menambahkan SurfaceView ke hierarki tampilan, aplikasi tersebut mungkin meminta SurfacePackage secara asinkron untuk merender tampilan dari SDK.

Setelah SurfacePackage siap, callback OutcomeReceiver#onResult dari receiver yang diteruskan akan dipanggil. Callback ini akan berisi objek Bundle, yang akan berisi kunci SdkSandboxManager#EXTRA_SURFACE_PACKAGE yang nilai terkaitnya adalah SurfacePackage yang diminta.

params yang diteruskan harus berisi kunci berikut: EXTRA_WIDTH_IN_PIXELS, SdkSandboxManager#EXTRA_HEIGHT_IN_PIXELS, SdkSandboxManager#EXTRA_DISPLAY_ID, dan SdkSandboxManager#EXTRA_HOST_TOKEN. Jika salah satu kunci ini tidak ada atau tidak valid, IllegalArgumentException akan ditampilkan.

API ini hanya dapat dipanggil saat pemanggil berjalan di latar depan. Panggilan dari latar belakang akan menghasilkan ditampilkannya RequestSurfacePackageException di receiver.

Parameter
sdkName String: nama SDK yang dimuat ke dalam sandbox SDK. Nilai ini tidak boleh null.

params Bundle: parameter yang diteruskan aplikasi klien ke SDK. Nilai ini tidak boleh null.

callbackExecutor Executor: Executor yang akan memanggil callback Nilai ini tidak boleh null. Peristiwa callback dan pemroses dikirim melalui Executor ini , yang menyediakan cara mudah untuk mengontrol thread yang digunakan. Untuk mengirim peristiwa melalui thread utama aplikasi, Anda dapat menggunakan Context.getMainExecutor(). Jika tidak, berikan Executor yang dikirimkan ke thread yang sesuai.

receiver OutcomeReceiver: Metode ini akan menampilkan Bundle saat berhasil, yang akan berisi kunci SdkSandboxManager#EXTRA_SURFACE_PACKAGE dengan nilai SurfacePackage, atau RequestSurfacePackageException jika gagal. Nilai ini tidak boleh null.

Menampilkan
IllegalArgumentException jika params tidak berisi semua kunci yang diperlukan.

startSdkSandboxActivity

Ditambahkan di API level 34
Juga di Ekstensi Layanan Iklan 7
public void startSdkSandboxActivity (Activity fromActivity, 
                IBinder sdkActivityToken)

Memulai Activity di sandbox SDK.

Fungsi ini akan memulai Activity baru dalam tugas yang sama dengan fromActivity yang diteruskan dan meneruskannya ke SDK yang memiliki sdkActivityToken yang diteruskan, yang mengidentifikasi permintaan dari SDK tersebut untuk menetapkan Activity ini.

Activity tidak akan dimulai dalam kasus berikut:

  • Aplikasi yang memanggil API ini ada di latar belakang.
  • sdkActivityToken yang diteruskan tidak memetakan ke permintaan untuk Activity dari SDK yang membagikannya dengan aplikasi pemanggil.
  • SDK yang membagikan sdkActivityToken yang diteruskan telah menghapus permintaannya untuk Activity ini.
  • Sandbox Activity sudah dibuat.

Parameter
fromActivity Activity: Activity akan digunakan untuk memulai sandbox baru Activity dengan memanggil Activity#startActivity(Intent) terhadapnya. Nilai ini tidak boleh null.

sdkActivityToken IBinder: ID yang dibagikan oleh SDK yang meminta Activity. Nilai ini tidak boleh null.

unloadSdk

Ditambahkan di API level 34
Juga di Ekstensi Layanan Iklan 4
public void unloadSdk (String sdkName)

Menghapus pemuatan SDK yang sebelumnya telah dimuat oleh pemanggil.

Tidak ada jaminan bahwa memori yang dialokasikan untuk SDK ini akan segera dibebaskan. Semua panggilan berikutnya ke requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) untuk sdkName yang diberikan akan gagal.

API ini hanya dapat dipanggil saat pemanggil berjalan di latar depan. Panggilan dari latar belakang akan menyebabkan SecurityException ditampilkan.

Parameter
sdkName String: nama SDK yang akan dihapus muatannya. Nilai ini tidak boleh null.

unregisterAppDimilikiSdkSandboxInterface

public void unregisterAppOwnedSdkSandboxInterface (String name)

Membatalkan pendaftaran ERROR(/AppOwnedSdkSandboxInterfaces) untuk proses aplikasi.

Parameter
name String: nama yang digunakan untuk mendaftarkan AppDimilikiSdkSandboxInterface. Nilai ini tidak boleh null.