Yalıtılmış Hizmet

public abstract class IsolatedService
extends Service

java.lang.Object
→ Yönergeler android.content.Context
  → Yönergeler android.content.ContextWrapper
    → Yönergeler android.app.Service
      → Yönergeler android.adservices.ondevicepersonalization.IsolatedService


OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver) çağrısında ODP tarafından başlatılan ve izole bir işlemde çalıştırılan hizmetler için temel sınıf. Hizmet, bir çağrı uygulamasındaki SurfaceView içinde görüntülenecek içerikleri üretebilir ve cihaz üzerindeki depolama alanına kalıcı sonuçlar yazabilir. Bu veriler, cihazlar arası istatistiksel analiz için Federated Analytics veya model eğitimi için Federated Learning tarafından kullanılabilir. İstemci uygulamaları, bir IsolatedService ile etkileşimde bulunmak için OnDevicePersonalizationManager uygulamasını kullanır.

Özet

Devralınan sabitler

İnş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şimi Nesnesi döndürür.

final LogReader getLogReader(RequestToken requestToken)

IsolatedService tarafından okunabilen satırlara erişim sağlayan REQUESTS ve EVENTS tabloları için 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)

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

IBinder onBind(Intent intent)

IsolatedService öğesine bağlamayı işler.

void onCreate()

IsolatedService için bir bağlayıcı oluşturur.

abstract IsolatedWorker onRequest(RequestToken requestToken)

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

Devralınan yöntemler

İnşaatçılar

Yalıtılmış Hizmet

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 içine yerleştirilebilen URL'ler sağlar. HTML bir WebView içinde oluşturulduğunda, platform bu URL'lere yapılan isteklere müdahale eder ve IsolatedWorker#onEvent(EventInput, Consumer) işlevini çağırır.

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

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

Şu kaynakları da inceleyebilirsiniz:

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 analitik işleri içerir.

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

İlerlemeler
FederatedComputeScheduler Birleşik bir işlem işi planlayıcı döndüren FederatedComputeScheduler. Bu değer null olamaz.

Şu kaynakları da inceleyebilirsiniz:

YerelVeri alma

public final MutableKeyValueStore getLocalData (RequestToken requestToken)

LOCAL_DATA tablosu için bir Veri Erişimi Nesnesi döndürür. LOCAL_DATA tablosu, hizmetin verileri 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 geçerli isteği tanımlayan opak bir jeton. Bu değer null olamaz.

İlerlemeler
MutableKeyValueStore LOCAL_DATA tablosuna erişim sağlayan MutableKeyValueStore nesnesi. Döndürülen MutableKeyValueStore öğesindeki yöntemler işlemleri engelliyordur ve ana iş parçacığından veya bağlayıcı iş parçacığından değil, bir çalışan iş parçacığından çağrılmalıdır. Bu değer null olamaz.

Şu kaynakları da inceleyebilirsiniz:

GetLogReader

public final LogReader getLogReader (RequestToken requestToken)

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

Parametreler
requestToken RequestToken: Hizmete yapılan geçerli 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 öğesindeki yöntemler işlemleri engelliyordur ve ana iş parçacığından veya bağlayıcı iş parçacığından değil, bir çalışan iş parçacığından çağrılmalıdır. Bu değer null olamaz.

Şu kaynakları da inceleyebilirsiniz:

UzakVeriler

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 manifestindeki etiketinde tanımlanan bir uç noktadan düzenli olarak indirilen verileri içeren salt okunur bir anahtar/değer 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 geçerli 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 öğesindeki yöntemler işlemleri engelliyordur ve ana iş parçacığından veya bağlayıcı iş parçacığından değil, bir çalışan iş parçacığından çağrılmalıdır. Bu değer null olamaz.

Şu kaynakları da inceleyebilirsiniz:

getKullanıcıVerileri

public final UserData getUserData (RequestToken requestToken)

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

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

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

Şu kaynakları da inceleyebilirsiniz:

onBind

public IBinder onBind (Intent intent)

IsolatedService öğesine bağlamayı işler.

Parametreler
intent Intent: Context.bindService ile belirtildiği üzere, bu hizmeti bağlamak için kullanılan Amaç. O noktada Intent'e dahil olan hiçbir ekstranın burada görünmeyeceğini unutmayın. Bu değer null olamaz.

İlerlemeler
IBinder Bu değer null olabilir.

onCreate

public void onCreate ()

IsolatedService için bir bağlayıcı oluşturur.

onRequest

public abstract IsolatedWorker onRequest (RequestToken requestToken)

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

Parametreler
requestToken RequestToken: İstek başına duruma bağlı hizmet yöntemlerine iletilmesi gereken geçerli hizmet isteğini tanımlayan opak bir jeton. Bu değer null olamaz.

İlerlemeler
IsolatedWorker Bu değer null olamaz.