IsolatedService

public abstract class IsolatedService
extends Service

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


ODP 在呼叫 OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver) 並在 此服務可產生要在 在呼叫應用程式中,SurfaceView 並將永久結果寫入裝置端 儲存空間,可聯合分析用於跨裝置統計分析,或是 聯合學習進行模型訓練 用戶端應用程式會使用 OnDevicePersonalizationManagerIsolatedService 互動。

摘要

繼承常數

公用建構函式

IsolatedService()

公用方法

final EventUrlProvider getEventUrlProvider(RequestToken requestToken)

針對目前的要求傳回 EventUrlProvider

final FederatedComputeScheduler getFederatedComputeScheduler(RequestToken requestToken)

針對目前的要求傳回 FederatedComputeScheduler

final MutableKeyValueStore getLocalData(RequestToken requestToken)

傳回 LOCAL_DATA 資料表的資料存取物件。

final LogReader getLogReader(RequestToken requestToken)

傳回 REQUESTS 和 EVENTS 資料表的 DAO, IsolatedService 可讀取的資料列。

final KeyValueStore getRemoteData(RequestToken requestToken)

傳回 REMOTE_DATA 資料表的資料存取物件。

final UserData getUserData(RequestToken requestToken)

針對目前要求傳回平台提供的 UserData

IBinder onBind(Intent intent)

處理與 IsolatedService 的繫結。

void onCreate()

IsolatedService 建立繫結器。

abstract IsolatedWorker onRequest(RequestToken requestToken)

傳回處理用戶端要求的 IsolatedWorker 例項。

繼承方法

公用建構函式

IsolatedService

public IsolatedService ()

公用方法

getEventUrlProvider

public final EventUrlProvider getEventUrlProvider (RequestToken requestToken)

針對目前的要求傳回 EventUrlProviderEventUrlProvider 提供可嵌入 HTML 的網址。HTML 以 WebView,平台會攔截傳送至這些網址的要求,並叫用 IsolatedWorker#onEvent(EventInput, Consumer)

參數
requestToken RequestToken:不透明權杖,可識別目前對服務的要求。 此值不能為 null

傳回
EventUrlProvider 傳回事件追蹤網址的 EventUrlProvider。 此值不能為 null

另請參閱:

getFederatedComputeScheduler

public final FederatedComputeScheduler getFederatedComputeScheduler (RequestToken requestToken)

針對目前的要求傳回 FederatedComputeSchedulerFederatedComputeScheduler 可用於排定及取消聯合運算工作。 聯合運算包括聯合學習和聯合分析工作。

參數
requestToken RequestToken:不透明權杖,可識別目前對服務的要求。 此值不能為 null

傳回
FederatedComputeScheduler 傳回聯合運算工作的 FederatedComputeScheduler 排程器。 此值不能為 null

另請參閱:

getLocalData

public final MutableKeyValueStore getLocalData (RequestToken requestToken)

傳回 LOCAL_DATA 資料表的資料存取物件。LOCAL_DATA 資料表是永久性資料表 鍵/值儲存庫,讓服務用來儲存任何資料。這個表格的內容 只會提供給在獨立程序中執行的服務查看,且無法傳送至 裝置。

參數
requestToken RequestToken:不透明權杖,可識別目前對服務的要求。 此值不能為 null

傳回
MutableKeyValueStore 提供 LOCAL_DATA 資料表存取權的 MutableKeyValueStore 物件。 傳回的 MutableKeyValueStore 中的方法為阻斷作業, 應從背景工作執行緒呼叫,而非主執行緒或繫結器執行緒。 此值不能為 null

另請參閱:

getLogReader

public final LogReader getLogReader (RequestToken requestToken)

傳回 REQUESTS 和 EVENTS 資料表的 DAO, IsolatedService 可讀取的資料列。

參數
requestToken RequestToken:不透明權杖,可識別目前對服務的要求。 此值不能為 null

傳回
LogReader 提供 REQUESTS 和 EVENTS 資料表存取權的 LogReader 物件。 傳回的 LogReader 中的方法為阻斷作業, 應從背景工作執行緒呼叫,而非主執行緒或繫結器執行緒。 此值不能為 null

另請參閱:

getRemoteData

public final KeyValueStore getRemoteData (RequestToken requestToken)

傳回 REMOTE_DATA 資料表的資料存取物件。REMOTE_DATA 資料表是唯讀資料表 鍵/值儲存庫,內含從宣告的端點定期下載的資料 ,如以下範例所示。

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

參數
requestToken RequestToken:不透明權杖,可識別目前對服務的要求。 此值不能為 null

傳回
KeyValueStore KeyValueStore 物件,提供 REMOTE_DATA 資料表的存取權。 傳回 KeyValueStore 中的方法是封鎖作業,應該為 從背景工作執行緒呼叫,而非主執行緒或繫結器執行緒。 此值不能為 null

另請參閱:

取得使用者資料

public final UserData getUserData (RequestToken requestToken)

針對目前要求傳回平台提供的 UserData

參數
requestToken RequestToken:不透明權杖,可識別目前對服務的要求。 此值不能為 null

傳回
UserData UserData 物件。 值可以是 null

另請參閱:

onBind

public IBinder onBind (Intent intent)

處理與 IsolatedService 的繫結。

參數
intent Intent:用來繫結至這項服務的意圖,如給 Context.bindService 的指定。請注意, 這裡不會顯示於之後的 Intent 中。 此值不能為 null

傳回
IBinder 這個值可以是 null

onCreate

public void onCreate ()

IsolatedService 建立繫結器。

onRequest

public abstract IsolatedWorker onRequest (RequestToken requestToken)

傳回處理用戶端要求的 IsolatedWorker 例項。

參數
requestToken RequestToken:不透明權杖,可識別目前對服務發出的要求 必須傳遞至依附於個別要求狀態的服務方法。 此值不能為 null

傳回
IsolatedWorker 此值不能為 null