Pekerja Terisolasi
public
interface
IsolatedWorker
android.adservices.ondevicepersonalization.IsolatedWorker |
Antarmuka dengan metode yang perlu diimplementasikan untuk menangani permintaan dari OS ke IsolatedService
. IsolatedService
membuat instance IsolatedWorker
pada
setiap permintaan dan memanggil salah satu metode di bawah ini, bergantung pada jenis permintaannya. IsolatedService
memanggil metode pada thread Binder dan IsolatedWorker
harus
mengalihkan operasi yang berjalan lama ke thread pekerja. Parameter konsumen dari setiap metode digunakan
untuk menampilkan hasil.
Ringkasan
Metode publik | |
---|---|
default
void
|
onDownloadCompleted(DownloadCompletedInput input, Consumer<DownloadCompletedOutput> consumer)
Menangani download yang telah selesai. |
default
void
|
onEvent(EventInput input, Consumer<EventOutput> consumer)
Menangani peristiwa yang dipicu oleh permintaan ke URL pelacakan yang disediakan platform |
default
void
|
onExecute(ExecuteInput input, Consumer<ExecuteOutput> consumer)
Menangani permintaan dari aplikasi. |
default
void
|
onRender(RenderInput input, Consumer<RenderOutput> consumer)
Menghasilkan HTML untuk hasil yang dikembalikan sebagai hasil dari
|
default
void
|
onTrainingExample(TrainingExampleInput input, Consumer<TrainingExampleOutput> consumer)
Membuat satu contoh pelatihan yang digunakan untuk tugas komputasi gabungan. |
Metode publik
onDownloadSelesai
public void onDownloadCompleted (DownloadCompletedInput input, Consumer<DownloadCompletedOutput> consumer)
Menangani download yang telah selesai. Platform mendownload konten menggunakan parameter yang ditentukan dalam
manifes paket IsolatedService
, memanggil fungsi ini setelah download
selesai, dan memperbarui tabel REMOTE_DATA dari
IsolatedService#getRemoteData(RequestToken)
dengan hasil metode ini.
Parameter | |
---|---|
input |
DownloadCompletedInput : Mendownload parameter pengendali.
Nilai ini tidak boleh null . |
consumer |
Consumer : Callback yang menerima hasil. Harus dipanggil dengan null aktif
mengalami {i>error.<i} Jika dipanggil dengan null , tidak ada pembaruan yang dibuat pada tabel REMOTE_DATA.
Jika metode ini menampilkan |
diAcara
public void onEvent (EventInput input, Consumer<EventOutput> consumer)
Menangani peristiwa yang dipicu oleh permintaan ke URL pelacakan yang disediakan platform EventUrlProvider
yang disematkan dalam output HTML yang ditampilkan oleh
onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer)
. Platform ini memperbarui tabel EVENTS dengan
EventOutput#getEventLogRecord()
.
Parameter | |
---|---|
input |
EventInput : Parameter yang diperlukan untuk menghitung data peristiwa.
Nilai ini tidak boleh null . |
consumer |
Consumer : Callback yang menerima hasil. Harus dipanggil dengan null aktif
mengalami {i>error.<i} Jika dipanggil dengan null , tidak ada data yang ditulis ke tabel EVENTS.
Jika metode ini menampilkan |
{i>onExecute<i}
public void onExecute (ExecuteInput input, Consumer<ExecuteOutput> consumer)
Menangani permintaan dari aplikasi. Metode ini dipanggil saat aplikasi memanggil OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle,
java.util.concurrent.Executor, OutcomeReceiver)
yang mengacu ke metode
IsolatedService
.
Parameter | |
---|---|
input |
ExecuteInput : Meminta Parameter dari aplikasi panggilan.
Nilai ini tidak boleh null . |
consumer |
Consumer : Callback yang menerima hasil ExecuteOutput . Harus dipanggil
dengan null mengalami error. Error tersebut disebarkan ke aplikasi panggilan sebagai
OnDevicePersonalizationException dengan kode error OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED . Untuk menghindari kebocoran informasi pribadi
ke aplikasi panggilan, pelaporan error yang lebih mendetail tidak tersedia. Jika IsolatedService perlu melaporkan statistik error ke backend-nya, statistik tersebut harus mengisi ExecuteOutput dengan data error untuk logging, dan mengandalkan Federated Analytics untuk menggabungkan
laporan error.
Jika metode ini menampilkan |
{i>onRender<i}
public void onRender (RenderInput input, Consumer<RenderOutput> consumer)
Menghasilkan HTML untuk hasil yang dikembalikan sebagai hasil dari
onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer)
. Dipanggil saat aplikasi klien memanggil
OnDevicePersonalizationManager#requestSurfacePackage(SurfacePackageToken, IBinder, int, int, int, java.util.concurrent.Executor, OutcomeReceiver)
.
Platform akan merender HTML ini dalam WebView
di dalam fence
{i>frame<i}.
Parameter | |
---|---|
input |
RenderInput : Parameter untuk permintaan render.
Nilai ini tidak boleh null . |
consumer |
Consumer : Callback yang menerima hasil. Harus dipanggil dengan null aktif
mengalami {i>error.<i} Error tersebut disebarkan ke aplikasi panggilan sebagai OnDevicePersonalizationException dengan kode error OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED .
Jika metode ini menampilkan |
onTrainingContoh
public void onTrainingExample (TrainingExampleInput input, Consumer<TrainingExampleOutput> consumer)
Membuat satu contoh pelatihan yang digunakan untuk tugas komputasi gabungan.
Parameter | |
---|---|
input |
TrainingExampleInput : Parameter yang diperlukan untuk menghasilkan contoh pelatihan.
Nilai ini tidak boleh null . |
consumer |
Consumer : Callback yang akan dipanggil setelah selesai.
Nilai ini tidak boleh null . |