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 SDK-nya sendiri dalam proses sandbox{i> <i}ini.

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

Ringkasan

Class bertingkat

interface SdkSandboxManager.SdkSandboxProcessDeathCallback

Callback untuk melacak peristiwa pelacakan penghentian sandbox SDK. 

Konstanta

String EXTRA_DISPLAY_ID

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

String EXTRA_HEIGHT_IN_PIXELS

Nama kunci yang akan digunakan di 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 menampilkan SurfacePackage yang diminta.

String EXTRA_WIDTH_IN_PIXELS

Nama kunci yang akan digunakan di 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 untuk 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 sandbox SDK kematian.

void addSyncedSharedPreferencesKeys(Set<String> keys)

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

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 kumpulan kunci yang sedang 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 muatan SDK yang sebelumnya telah dimuat oleh pemanggil.

void unregisterAppOwnedSdkSandboxInterface(String name)

Membatalkan pendaftaran ERROR(/AppOwnedSdkSandboxInterfaces) untuk proses aplikasi.

Metode turunan

Konstanta

ID_DISPLAY_TAMBAHAN

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

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

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

TAMBAHAN_TINGGI_IN_PIXELS

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

Nama kunci yang akan digunakan di 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 level API 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"

PAKET_SURFACE_EXTRA_SURFACE

Ditambahkan di level API 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 menampilkan SurfacePackage yang diminta.

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

EXTRA_WIDTH_IN_PIXELS

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

Nama kunci yang akan digunakan di 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 level API 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 level API 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 klien aplikasi.

Nilai Konstanta: 500 (0x000001f4)

LOAD_SDK_NOT_FOUND

Ditambahkan di level API 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 level API 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 pasca-pemuatan. Tujuan detail informasi 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 level API 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 di proses {i>booting<i} ini juga akan gagal.

Nilai Konstanta: 103 (0x00000067)

REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR

Ditambahkan di level API 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 level API 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 meminta SurfacePackage tidak dimuat, baik karena {i>sandbox<i} mati atau karena tidak dimuat sejak awal.

Nilai Konstanta: 701 (0x000002bd)

SDK_SANDBOX_PROGRESS_NOT_AVAILABLE

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

Proses sandbox SDK tidak tersedia.

Ini menunjukkan bahwa proses {i>sandbox<i} SDK tidak tersedia, baik karena proses {i>sandbox<i} SDK telah dihentikan, terputus atau tidak dibuat sejak awal.

Nilai Konstanta: 503 (0x000001f7)

SDK_SANDBOX_SERVICE

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

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

Nilai Konstanta: "sdk_sandbox"

SDK_SANDBOX_STATE_DISABLED

Ditambahkan di level API 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 level API 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 ke dalam proses sandbox SDK yang sesuai.

Nilai Konstanta: 2 (0x00000002)

Metode publik

addSdkSandboxProcessDeathCallback

Ditambahkan di level API 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 sandbox SDK kematian. Jika {i>sandbox<i} belum dibuat ketika dipanggil, permintaan akan disimpan sampai {i>sandbox<i} dibuat, dan pada saat itu {i>sandbox<i} diaktifkan untuk {i>sandbox<i} tersebut. Beberapa callback bisa ditambahkan untuk mendeteksi kematian dan tidak akan dihapus ketika 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, sediakan Executor yang melakukan pengiriman ke thread yang sesuai.

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

addSyncedSharedPreferencesKeys

Ditambahkan di level API 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 SDK sandbox.

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

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

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

Catatan: Class ini tidak mendukung penggunaan pada beberapa proses.

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

getAppOwnedSdkSandboxInterfaces

public List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces ()

Mengambil daftar AppOwnedSdkSandboxInterface yang terdaftar untuk aplikasi

Hasil
List<AppOwnedSdkSandboxInterface> daftar kosong jika callInfo tidak ditemukan di peta. Jika tidak, daftar AppOwnedSdkSandboxInterface Nilai ini tidak boleh null.

getSandboxedSdks

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

Mengambil informasi tentang SDK yang dimuat di sandbox.

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

getSdkSandboxState

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

Menampilkan status ketersediaan fitur sandbox SDK saat ini.

Hasil
int Nilai adalah SDK_SANDBOX_STATE_DISABLED, atau SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION

getSyncedSharedPreferencesKeys

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

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

Hasil
Set<String> Nilai ini tidak boleh null.

loadSdk

Ditambahkan di level API 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. Tujuan 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 SDK sandbox.

Saat aplikasi klien memuat SDK pertama, proses {i>sandbox<i} SDK yang baru akan dibuat. Jika sandbox sudah dibuat untuk aplikasi klien, SDK tambahan akan dimuat ke sandbox yang sama.

API ini hanya dapat dipanggil saat pemanggil berjalan di latar depan. Panggilan dari latar belakang akan menghasilkan LoadSdkException yang ditampilkan di 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 digunakan untuk 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, sediakan Executor yang melakukan pengiriman ke thread yang sesuai.

receiver OutcomeReceiver: Fungsi ini menerima SandboxedSdk jika berhasil dijalankan, atau LoadSdkException. Nilai ini tidak boleh null.

registerAppOwnedSdkSandboxInterfaces

public void registerAppOwnedSdkSandboxInterface (AppOwnedSdkSandboxInterface appOwnedSdkSandboxInterface)

Mendaftarkan AppOwnedSdkSandboxInterface untuk proses aplikasi.

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

AppOwnedSdkSandboxInterface#getName() merujuk pada nama antarmuka.

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

removeSdkSandboxProcessDeathCallback

Ditambahkan di level API 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 level API 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 level API 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 memiliki menambahkan SurfaceView ke hierarki tampilan, elemen ini dapat meminta secara asinkron SurfacePackage untuk merender tampilan dari SDK.

Saat SurfacePackage sudah siap, callback OutcomeReceiver#onResult dari receiver yang diteruskan akan dipanggil. Callback ini akan berisi Bundle , yang akan berisi kunci SdkSandboxManager#EXTRA_SURFACE_PACKAGE yang nilai yang terkait 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 hilang atau tidak valid, IllegalArgumentException akan ditampilkan.

API ini hanya dapat dipanggil saat pemanggil berjalan di latar depan. Panggilan dari latar belakang akan menyebabkan 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, sediakan Executor yang melakukan pengiriman 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 level API 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 dari fromActivity yang diteruskan dan meneruskannya ke SDK yang membagikan 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 berada di latar belakang.
  • sdkActivityToken yang diteruskan tidak dipetakan ke permintaan untuk Activity dari SDK yang membagikannya ke aplikasi pemanggil.
  • SDK yang membagikan sdkActivityToken yang telah diteruskan menghapus permintaannya untuk teks ini Activity.
  • Sandbox Activity sudah dibuat.

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

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

unloadSdk

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

Menghapus muatan SDK yang sebelumnya telah dimuat oleh pemanggil.

Tidak ada jaminan bahwa memori yang dialokasikan untuk SDK ini akan segera dikosongkan. 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.

membatalkan pendaftaranAppOwnedSdkSandboxInterfaces

public void unregisterAppOwnedSdkSandboxInterface (String name)

Membatalkan pendaftaran ERROR(/AppOwnedSdkSandboxInterfaces) untuk proses aplikasi.

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