Pengelola Personalisasi Perangkat
public
class
OnDevicePersonalizationManager
extends Object
java.lang.Object | |
↳ | android.adservices.ondevicepersonalization.OnDevicePersonalizationManager |
OnDevicePersonalizationManager menyediakan API bagi aplikasi untuk memuat
IsolatedService
dalam proses terpisah dan berinteraksi dengannya.
Aplikasi dapat meminta IsolatedService
guna membuat konten untuk ditampilkan
dalam SurfaceView
dalam hierarki tampilan aplikasi, dan juga menulis
hasil persisten ke penyimpanan di perangkat yang dapat digunakan oleh Federated Analytics untuk
analisis statistik lintas-perangkat atau oleh Federated Learning untuk pelatihan model. Konten yang ditampilkan dan output persisten tidak dapat diakses langsung oleh aplikasi panggilan.
Ringkasan
Metode publik | |
---|---|
void
|
execute(ComponentName handler, PersistableBundle params, Executor executor, OutcomeReceiver<List<SurfacePackageToken>, Exception> receiver)
Menjalankan |
void
|
requestSurfacePackage(SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackage, Exception> receiver)
Meminta |
Metode turunan | |
---|---|
Metode publik
eksekusi
public void execute (ComponentName handler, PersistableBundle params, Executor executor, OutcomeReceiver<List<SurfacePackageToken>, Exception> receiver)
Menjalankan IsolatedService
di sandbox OnDevicePersonalization. Platform
mengikat ke IsolatedService
yang ditentukan dalam proses yang terisolasi
dan memanggil IsolatedWorker#onExecute(ExecuteInput, java.util.function.Consumer)
dengan parameter yang disediakan pemanggil. Setelah IsolatedService
menyelesaikan eksekusi, platform akan menampilkan token yang merujuk ke hasil dari layanan ke pemanggil.
Token ini selanjutnya dapat digunakan untuk menampilkan hasil dalam SurfaceView
dalam aplikasi pemanggil.
Parameter | |
---|---|
handler |
ComponentName : ComponentName dari IsolatedService .
Nilai ini tidak boleh null . |
params |
PersistableBundle : PersistableBundle yang diteruskan dari aplikasi panggilan ke IsolatedService . Konten yang diharapkan dari parameter ini ditentukan oleh IsolatedService . Platform tidak menafsirkan parameter ini.
Nilai ini tidak boleh null . |
executor |
Executor : Executor tempat untuk 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 : Tindakan ini menampilkan daftar objek SurfacePackageToken , yang masing-masing merupakan referensi buram ke RenderingConfig yang ditampilkan oleh IsolatedService , atau Exception jika gagal. Objek
SurfacePackageToken yang ditampilkan dapat digunakan dalam panggilan
requestSurfacePackage(android.adservices.ondevicepersonalization.SurfacePackageToken, android.os.IBinder, int, int, int, java.util.concurrent.Executor, android.os.OutcomeReceiver) berikutnya untuk menampilkan hasilnya dalam tampilan. Aplikasi pemanggil dan
IsolatedService harus menyetujui ukuran yang diharapkan dari daftar ini.
Entri dalam daftar objek SurfacePackageToken yang ditampilkan mungkin bernilai null untuk
menunjukkan bahwa layanan tidak memiliki output untuk platform spesifik tersebut.
Jika terjadi error, penerima akan menampilkan salah satu pengecualian berikut:
Menampilkan PackageManager.NameNotFoundException jika paket
pengendali tidak diinstal atau tidak memiliki manifes ODP yang valid.
Menampilkan ClassNotFoundException jika class pengendali tidak ditemukan.
Menampilkan OnDevicePersonalizationException jika eksekusi pengendali gagal. |
requestSurfacePackage
public void requestSurfacePackage (SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackage, Exception> receiver)
Meminta SurfaceControlViewHost.SurfacePackage
untuk disisipkan ke dalam
SurfaceView
di dalam aplikasi panggilan. Paket platform akan berisi
View
dengan konten dari hasil panggilan sebelumnya ke
#execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver)
yang berjalan di
sandbox OnDevicePersonalization.
Parameter | |
---|---|
surfacePackageToken |
SurfacePackageToken : referensi ke SurfacePackageToken yang ditampilkan oleh panggilan sebelumnya ke #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver) .
Nilai ini tidak boleh null . |
surfaceViewHostToken |
IBinder : hostToken SurfaceView , yang
ditampilkan oleh SurfaceView.getHostToken() setelah
SurfaceView ditambahkan ke hierarki tampilan.
Nilai ini tidak boleh null . |
displayId |
int : ID bilangan bulat dari tampilan logis yang akan digunakan untuk menampilkan
SurfaceControlViewHost.SurfacePackage , yang ditampilkan oleh
Context.getDisplay().getDisplayId() . |
width |
int : lebar SurfaceControlViewHost.SurfacePackage
dalam piksel. |
height |
int : tinggi SurfaceControlViewHost.SurfacePackage
dalam piksel. |
executor |
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
SurfaceControlViewHost.SurfacePackage jika berhasil, atau
Exception jika gagal. Jenis pengecualiannya adalah
OnDevicePersonalizationException jika eksekusi pengendali gagal.
Nilai ini tidak boleh null . |