격리된 서비스

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의 인스턴스를 반환합니다.

상속된 메서드

공개 생성자

격리된 서비스

public IsolatedService ()

공개 메서드

getEventUrlProvider

public final EventUrlProvider getEventUrlProvider (RequestToken requestToken)

현재 요청의 EventUrlProvider를 반환합니다. EventUrlProvider 는 HTML에 삽입할 수 있는 URL을 제공합니다. HTML이 WebView: 플랫폼이 이러한 URL에 대한 요청을 가로채고 IsolatedWorker#onEvent(EventInput, Consumer)입니다.

매개변수
requestToken RequestToken: 서비스에 대한 현재 요청을 식별하는 불투명 토큰입니다. 이 값은 null일 수 없습니다.

반환 값
EventUrlProvider 이벤트 추적 URL을 반환하는 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 테이블은 읽기 전용입니다. 선언된 엔드포인트에서 주기적으로 다운로드되는 데이터가 포함된 키-값 저장소 서비스의 ODP 매니페스트에 있는 태그에서 설정합니다.

<!-- 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 REMOTE_DATA 테이블에 대한 액세스를 제공하는 KeyValueStore 객체입니다. 이 반환된 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에 제공된 대로 이 서비스에 바인딩하는 데 사용된 인텐트입니다. 이전에 출시된 추가 기능은 이러한 객체는 여기서 볼 수 없습니다. 이 값은 null일 수 없습니다.

반환 값
IBinder 이 값은 null일 수 있습니다.

초기화

public void onCreate ()

IsolatedService의 바인더를 만듭니다.

요청 시

public abstract IsolatedWorker onRequest (RequestToken requestToken)

클라이언트 요청을 처리하는 IsolatedWorker의 인스턴스를 반환합니다.

매개변수
requestToken RequestToken: 현재 요청을 식별하는 불투명 토큰입니다. 는 요청별 상태에 종속되는 서비스 메서드에 전달되어야 합니다. 이 값은 null일 수 없습니다.

반환 값
IsolatedWorker 이 값은 null일 수 없습니다.