LayananTerisolasi

public abstract class IsolatedService
extends Service

java.lang.Object
   ↳ android.content.Context
     ↳ android.content.ContextWrapper
       ↳ android.app.Service
         ↳ android.adservices.ondevicepersonalization.IsolatedService


Class dasar untuk layanan yang dimulai oleh ODP pada panggilan ke OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver) dan dijalankan dalam proses terisolasi. Layanan dapat menghasilkan konten yang akan ditampilkan di SurfaceView di aplikasi panggilan dan 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. Aplikasi klien menggunakan OnDevicePersonalizationManager untuk berinteraksi dengan IsolatedService.

Ringkasan

Konstanta turunan

Konstruktor publik

IsolatedService()

Metode publik

final EventUrlProvider getEventUrlProvider(RequestToken requestToken)

Menampilkan EventUrlProvider untuk permintaan saat ini.

final FederatedComputeScheduler getFederatedComputeScheduler(RequestToken requestToken)

Menampilkan FederatedComputeScheduler untuk permintaan saat ini.

final MutableKeyValueStore getLocalData(RequestToken requestToken)

Menampilkan Objek Akses Data untuk tabel LOCAL_DATA.

final LogReader getLogReader(RequestToken requestToken)

Menampilkan DAO untuk tabel permintaan dan EVENTS yang menyediakan akses ke baris yang dapat dibaca oleh IsolatedService.

final KeyValueStore getRemoteData(RequestToken requestToken)

Menampilkan Objek Akses Data untuk tabel REMOTE_DATA.

final UserData getUserData(RequestToken requestToken)

Menampilkan UserData yang disediakan platform untuk permintaan saat ini.

IBinder onBind(Intent intent)

Menangani binding ke IsolatedService.

void onCreate()

Membuat binder untuk IsolatedService.

abstract IsolatedWorker onRequest(RequestToken requestToken)

Tampilkan instance IsolatedWorker yang menangani permintaan klien.

Metode turunan

Konstruktor publik

LayananTerisolasi

public IsolatedService ()

Metode publik

getEventUrlProvider

public final EventUrlProvider getEventUrlProvider (RequestToken requestToken)

Menampilkan EventUrlProvider untuk permintaan saat ini. EventUrlProvider menyediakan URL yang dapat disematkan dalam HTML. Jika HTML dirender dalam WebView, platform akan mencegat permintaan ke URL ini dan memanggil IsolatedWorker#onEvent(EventInput, Consumer).

Parameter
requestToken RequestToken: token buram yang mengidentifikasi permintaan saat ini ke layanan. Nilai ini tidak boleh null.

Return
EventUrlProvider EventUrlProvider yang menampilkan URL pelacakan peristiwa. Nilai ini tidak boleh null.

getFederatedComputeScheduler

public final FederatedComputeScheduler getFederatedComputeScheduler (RequestToken requestToken)

Menampilkan FederatedComputeScheduler untuk permintaan saat ini. FederatedComputeScheduler dapat digunakan untuk menjadwalkan dan membatalkan tugas komputasi gabungan. Komputasi federasi mencakup tugas analisis federasi dan federated learning.

Parameter
requestToken RequestToken: token buram yang mengidentifikasi permintaan saat ini ke layanan. Nilai ini tidak boleh null.

Return
FederatedComputeScheduler FederatedComputeScheduler yang menampilkan penjadwal tugas komputasi gabungan. Nilai ini tidak boleh null.

{i>getLocalData<i}

public final MutableKeyValueStore getLocalData (RequestToken requestToken)

Menampilkan Objek Akses Data untuk tabel LOCAL_DATA. Tabel LOCAL_DATA adalah penyimpanan nilai kunci persisten yang dapat digunakan layanan untuk menyimpan data apa pun. Isi tabel ini hanya dapat dilihat oleh layanan yang berjalan dalam proses terpisah dan tidak dapat dikirim ke luar perangkat.

Parameter
requestToken RequestToken: token buram yang mengidentifikasi permintaan saat ini ke layanan. Nilai ini tidak boleh null.

Return
MutableKeyValueStore Objek MutableKeyValueStore yang memberikan akses ke tabel LOCAL_DATA. Metode dalam MutableKeyValueStore yang ditampilkan merupakan operasi pemblokiran dan harus dipanggil dari thread pekerja, bukan thread utama atau thread binder. Nilai ini tidak boleh null.

getLogReader

public final LogReader getLogReader (RequestToken requestToken)

Menampilkan DAO untuk tabel permintaan dan EVENTS yang menyediakan akses ke baris yang dapat dibaca oleh IsolatedService.

Parameter
requestToken RequestToken: token buram yang mengidentifikasi permintaan saat ini ke layanan. Nilai ini tidak boleh null.

Return
LogReader Objek LogReader yang memberikan akses ke tabel PERMINTAAN dan PERISTIWA. Metode dalam LogReader yang ditampilkan merupakan operasi pemblokiran dan harus dipanggil dari thread pekerja, bukan thread utama atau thread binder. Nilai ini tidak boleh null.

{i>getRemoteData<i}

public final KeyValueStore getRemoteData (RequestToken requestToken)

Menampilkan Objek Akses Data untuk tabel REMOTE_DATA. Tabel REMOTE_DATA adalah penyimpanan nilai kunci hanya-baca yang berisi data yang didownload secara berkala dari endpoint yang dideklarasikan dalam tag di manifes ODP layanan, seperti yang ditampilkan dalam contoh berikut.

<!-- Contents of res/xml/OdpSettings.xml -->
 <on-device-personalization>
 <!-- Name of the service subclass -->
 <service "com.example.odpsample.SampleService">
   <!-- If this tag is present, ODP will periodically poll this URL and
    download content to populate REMOTE_DATA. Adopters that do not need to
    download content from their servers can skip this tag. -->
   <download-settings url="https://example.com/get" />
 </service>
 </on-device-personalization>
 

Parameter
requestToken RequestToken: token buram yang mengidentifikasi permintaan saat ini ke layanan. Nilai ini tidak boleh null.

Return
KeyValueStore Objek KeyValueStore yang memberikan akses ke tabel REMOTE_DATA. Metode dalam KeyValueStore yang ditampilkan merupakan operasi pemblokiran dan harus dipanggil dari thread pekerja, bukan dari thread utama atau thread binder. Nilai ini tidak boleh null.

{i>getUserData<i}

public final UserData getUserData (RequestToken requestToken)

Menampilkan UserData yang disediakan platform untuk permintaan saat ini.

Parameter
requestToken RequestToken: token buram yang mengidentifikasi permintaan saat ini ke layanan. Nilai ini tidak boleh null.

Return
UserData Objek UserData. Nilai ini mungkin null.

onBind

public IBinder onBind (Intent intent)

Menangani binding ke IsolatedService.

Parameter
intent Intent: Intent yang digunakan untuk mengikat ke layanan ini, seperti yang diberikan ke Context.bindService. Perlu diperhatikan bahwa setiap tambahan yang disertakan dengan Intent pada saat tersebut tidak akan terlihat di sini. Nilai ini tidak boleh null.

Return
IBinder Nilai ini dapat berupa null.

{i>onCreate<i}

public void onCreate ()

Membuat binder untuk IsolatedService.

atas Permintaan

public abstract IsolatedWorker onRequest (RequestToken requestToken)

Tampilkan instance IsolatedWorker yang menangani permintaan klien.

Parameter
requestToken RequestToken: token buram yang mengidentifikasi permintaan saat ini ke layanan yang harus diteruskan ke metode layanan yang bergantung pada status per permintaan. Nilai ini tidak boleh null.

Return
IsolatedWorker Nilai ini tidak boleh null.