ИзолированныйСервис

public abstract class IsolatedService
extends Service

java.lang.Объект
android.content.Контекст
android.content.ContextWrapper
android.app.Service
android.adservices.ondevicepersonalization.IsolatedService


Базовый класс для служб, которые запускаются ODP при вызове OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver) и выполняются в изолированном процессе . Служба может создавать контент для отображения в SurfaceView в вызывающем приложении и записывать постоянные результаты в хранилище на устройстве, которые могут использоваться Federated Analytics для статистического анализа между устройствами или Federated Learning для обучения модели. Клиентские приложения используют 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)

Возвращает объект DAO для таблиц REQUESTS и EVENTS, который обеспечивает доступ к строкам, доступным для чтения с помощью IntegratedService.

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 , который обрабатывает клиентские запросы.

Унаследованные методы

Общественные конструкторы

Изолированное обслуживание

public IsolatedService ()

Публичные методы

geteventurlprovider

public final EventUrlProvider getEventUrlProvider (RequestToken requestToken)

Возвращает EventUrlProvider для текущего запроса. EventUrlProvider предоставляет URL -адреса, которые могут быть встроены в HTML. Когда HTML отображается в WebView , платформа перехватывает запросы на эти URL -адреса и вызывает IsolatedWorker#onEvent(EventInput, Consumer) .

Параметры
requestToken RequestToken : непрозрачный токен, который определяет текущий запрос на Сервис. Это значение не может быть null .

Возврат
EventUrlProvider EventUrlProvider , который возвращает URL -адреса отслеживания событий. Это значение не может быть 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 Объект MutableKeyValueStore , который обеспечивает доступ к таблице local_data. Методы в возвращенном MutableKeyValueStore блокируют операции и должны вызывать из рабочей потока, а не в основной нити или переплетке. Это значение не может быть null .

См. также:

GetLogreader

public final LogReader getLogReader (RequestToken requestToken)

Возвращает DAO для таблиц запросов и событий, которые обеспечивают доступ к рядам, которые читаются в изолированном обслуживании.

Параметры
requestToken RequestToken : непрозрачный токен, который определяет текущий запрос на Сервис. Это значение не может быть null .

Возврат
LogReader Объект LogReader , который обеспечивает доступ к таблице запросов и событий. Методы в возвращенном LogReader блокируют операции и должны вызывать из рабочей потока, а не в основной нити или переплетке. Это значение не может быть null .

См. также:

GetRemotedata

public final KeyValueStore getRemoteData (RequestToken requestToken)

Возвращает объект доступа к данным для таблицы remote_data. Таблица remote_data представляет собой хранилище для ключей только для чтения, в котором содержатся данные, которые периодически загружаются с конечной точки, объявленной в Теги в MANIFEST Сервиса, как показано в следующем примере.

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

См. также:

getuserdata

public final UserData getUserData (RequestToken requestToken)

Возвращает предоставленную платформу UserData для текущего запроса.

Параметры
requestToken RequestToken : непрозрачный токен, который определяет текущий запрос на Сервис. Это значение не может быть null .

Возврат
UserData Объект UserData . Это значение может быть null .

См. также:

Onbind

public IBinder onBind (Intent intent)

Обрабатывает связывание с IsolatedService .

Параметры
intent Intent : намерение, которое использовалось для привязки к этой службе, как это было дано с Context.bindService . BindService. Обратите внимание, что любые дополнения, которые были включены в намерение в этот момент, здесь не будут видны. Это значение не может быть null .

Возврат
IBinder Это значение может быть null .

пост

public void onCreate ()

Создает переплет для IsolatedService .

onrequest

public abstract IsolatedWorker onRequest (RequestToken requestToken)

Верните экземпляр IsolatedWorker , который обрабатывает запросы клиента.

Параметры
requestToken RequestToken : непрозрачный токен, который идентифицирует текущий запрос на службу, которая должна быть передана методам обслуживания, которые зависят от состояния в течение всего. Это значение не может быть null .

Возврат
IsolatedWorker Это значение не может быть null .