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 並將永久結果寫入裝置端 儲存空間,可聯合分析用於跨裝置統計分析,或是 聯合學習進行模型訓練 用戶端應用程式會使用 OnDevicePersonalizationManager 與 IsolatedService 互動。

摘要

繼承常數

公用建構函式

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)

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

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

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

另請參閱:

getFederatedComputeScheduler

public final FederatedComputeScheduler getFederatedComputeScheduler (RequestToken requestToken)

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

參數
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。