IsolatedService

public abstract class IsolatedService
extends Service

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


OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver) çağrısında ODP tarafından başlatılan ve yalıtılmış bir süreçte çalışan hizmetler için temel sınıf. Hizmet, bir arama uygulamasında SurfaceView içinde gösterilecek içerikler üretebilir ve cihaz üzerinde depolama alanına kalıcı sonuçlar yazabilir. Bu sonuçlar, cihazlar arası istatistiksel analiz için Federated Analytics veya model eğitimi için Federated Learning tarafından kullanılabilir. İstemci uygulamaları, IsolatedService ile etkileşime geçmek için OnDevicePersonalizationManager kullanır.

Özet

Devralınan sabitler

Kamu inşaatçıları

IsolatedService()

Herkese açık yöntemler

final EventUrlProvider getEventUrlProvider(RequestToken requestToken)

Geçerli istek için bir EventUrlProvider döndürür.

final FederatedComputeScheduler getFederatedComputeScheduler(RequestToken requestToken)

Geçerli istek için bir FederatedComputeScheduler döndürür.

final MutableKeyValueStore getLocalData(RequestToken requestToken)

LOCAL_DATA tablosu için bir Veri Erişim Nesnesi döndürür.

final LogReader getLogReader(RequestToken requestToken)

REQUESTS ve EVENTS tabloları için IsolatedService tarafından okunabilen satırlara erişim sağlayan bir DAO döndürür.

final KeyValueStore getRemoteData(RequestToken requestToken)

REMOTE_DATA tablosu için bir Veri Erişim Nesnesi döndürür.

final UserData getUserData(RequestToken requestToken)

Geçerli istek için platform tarafından sağlanan UserData değerini döndürür.

IBinder onBind(Intent intent)

IsolatedService öğesine bağlama işlemlerini yapar.

void onCreate()

IsolatedService için bir ciltleyici oluşturur.

abstract IsolatedWorker onRequest(RequestToken requestToken)

İstemci isteklerini işleyen bir IsolatedWorker örneği döndürme.

Devralınan yöntemler

Kamu inşaatçıları

IsolatedService

public IsolatedService ()

Herkese açık yöntemler

getEventUrlProvider

public final EventUrlProvider getEventUrlProvider (RequestToken requestToken)

Geçerli istek için bir EventUrlProvider döndürür. EventUrlProvider , HTML'ye yerleştirilebilecek URL'ler sağlar. HTML bir WebView içinde oluşturulduğunda platform, bu URL'lere yapılan istekleri durdurur ve IsolatedWorker#onEvent(EventInput, Consumer)'ı çağırır.

Parametreler
requestToken RequestToken: Hizmete yapılan mevcut isteği tanımlayan opak bir jeton. Bu değer null olamaz.

İlerlemeler
EventUrlProvider Etkinlik izleme URL'lerini döndüren bir EventUrlProvider. Bu değer null olamaz.

getFederatedComputeScheduler

public final FederatedComputeScheduler getFederatedComputeScheduler (RequestToken requestToken)

Geçerli istek için bir FederatedComputeScheduler döndürür. FederatedComputeScheduler, birleşik hesaplama işlerini planlamak ve iptal etmek için kullanılabilir. Birleşik hesaplama, birleşik öğrenim ve birleşik analiz işlerini içerir.

Parametreler
requestToken RequestToken: Hizmete yapılan mevcut isteği tanımlayan opak bir jeton. Bu değer null olamaz.

İlerlemeler
FederatedComputeScheduler Bir birleşik hesaplama işi planlayıcısı döndüren bir FederatedComputeScheduler. Bu değer null olamaz.

getLocalData

public final MutableKeyValueStore getLocalData (RequestToken requestToken)

LOCAL_DATA tablosu için bir Veri Erişim Nesnesi döndürür. LOCAL_DATA tablosu, hizmetin herhangi bir veriyi depolamak için kullanabileceği kalıcı bir anahtar/değer deposudur. Bu tablonun içeriği yalnızca izole bir işlemde çalışan hizmet tarafından görülebilir ve cihazın dışına gönderilemez.

Parametreler
requestToken RequestToken: Hizmete yapılan mevcut isteği tanımlayan opak bir jeton. Bu değer null olamaz.

İlerlemeler
MutableKeyValueStore LOCAL_DATA tablosuna erişim sağlayan bir MutableKeyValueStore nesnesi. Döndürülen MutableKeyValueStore içindeki yöntemler engelleme işlemleridir ve ana iş parçacığı veya bağlayıcı iş parçacığı yerine bir çalışan iş parçacığında çağrılmalıdır. Bu değer null olamaz.

getLogReader

public final LogReader getLogReader (RequestToken requestToken)

REQUESTS ve EVENTS tabloları için IsolatedService tarafından okunabilen satırlara erişim sağlayan bir DAO döndürür.

Parametreler
requestToken RequestToken: Hizmete yapılan mevcut isteği tanımlayan opak bir jeton. Bu değer null olamaz.

İlerlemeler
LogReader İSTEKLER ve ETKİNLİKLER tablosuna erişim sağlayan bir LogReader nesnesi. Döndürülen LogReader içindeki yöntemler engelleme işlemleridir ve ana iş parçacığı veya bağlayıcı iş parçacığı yerine bir çalışan iş parçacığında çağrılmalıdır. Bu değer null olamaz.

getRemoteData

public final KeyValueStore getRemoteData (RequestToken requestToken)

REMOTE_DATA tablosu için bir Veri Erişim Nesnesi döndürür. REMOTE_DATA tablosu, aşağıdaki örnekte gösterildiği gibi hizmetin ODP manifest'indeki etiketinde tanımlanan bir uç noktadan düzenli olarak indirilen verileri içeren salt okunur bir anahtar/değer çifti deposudur.

<!-- 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>
 

Parametreler
requestToken RequestToken: Hizmete yapılan mevcut isteği tanımlayan opak bir jeton. Bu değer null olamaz.

İlerlemeler
KeyValueStore REMOTE_DATA tablosuna erişim sağlayan bir KeyValueStore nesnesi. Döndürülen KeyValueStore içindeki yöntemler, engelleme işlemleridir ve ana iş parçacığı veya bağlayıcı iş parçacığı yerine bir çalışan iş parçacığında çağrılmalıdır. Bu değer null olamaz.

Şu kaynakları da inceleyin:

getUserData

public final UserData getUserData (RequestToken requestToken)

Geçerli istek için platform tarafından sağlanan UserData değerini döndürür.

Parametreler
requestToken RequestToken: Hizmete yapılan mevcut isteği tanımlayan opak bir jeton. Bu değer null olamaz.

İlerlemeler
UserData UserData nesnesi. Bu değer null olabilir.

onBind

public IBinder onBind (Intent intent)

IsolatedService'e bağlamayı yönetir.

Parametreler
intent Intent: Context.bindService öğesinde belirtildiği şekilde bu hizmete bağlanmak için kullanılan Intent. Bu noktada Intent'e eklenen eklerin burada görünmeyeceğini unutmayın. Bu değer null olamaz.

İlerlemeler
IBinder Bu değer null olabilir.

Oluşturulduğunda

public void onCreate ()

IsolatedService için bir ciltleyici oluşturur.

onRequest

public abstract IsolatedWorker onRequest (RequestToken requestToken)

İstemci isteklerini işleyen bir IsolatedWorker örneği döndürme

Parametreler
requestToken RequestToken: Hizmete gönderilen mevcut isteği tanımlayan ve istek başına duruma bağlı hizmet yöntemlerine iletilmesi gereken opak bir jeton. Bu değer null olamaz.

İlerlemeler
IsolatedWorker Bu değer null olamaz.