격리된 작업자
public
interface
IsolatedWorker
android.adservices.ondevicepersonalization.IsolatedWorker |
OS에서 IsolatedService
로의 요청을 처리하기 위해 구현해야 하는 메서드가 포함된 인터페이스입니다. IsolatedService
는 다음 위치에 IsolatedWorker
의 인스턴스를 만듭니다.
각 요청을 호출하고 요청 유형에 따라 아래 메서드 중 하나를 호출합니다. IsolatedService
는 바인더 스레드에서 메서드를 호출하고 IsolatedWorker
는
장기 실행 작업을 작업자 스레드로 오프로드합니다. 각 메서드의 소비자 매개변수는
결과가 반환됩니다.
요약
공개 메서드 | |
---|---|
default
void
|
onDownloadCompleted(DownloadCompletedInput input, Consumer<DownloadCompletedOutput> consumer)
완료된 다운로드를 처리합니다. |
default
void
|
onEvent(EventInput input, Consumer<EventOutput> consumer)
다음에서 반환된 HTML 출력에 삽입된 플랫폼 제공 추적 URL |
default
void
|
onExecute(ExecuteInput input, Consumer<ExecuteOutput> consumer)
앱의 요청을 처리합니다. |
default
void
|
onRender(RenderInput input, Consumer<RenderOutput> consumer)
결과로 반환된 결과에 대한 HTML을 생성합니다.
|
default
void
|
onTrainingExample(TrainingExampleInput input, Consumer<TrainingExampleOutput> consumer)
제휴 계산 작업에 사용되는 단일 학습 예시를 생성합니다. |
공개 메서드
onDownloadCompleted
public void onDownloadCompleted (DownloadCompletedInput input, Consumer<DownloadCompletedOutput> consumer)
완료된 다운로드를 처리합니다. 플랫폼은 다음에 정의된 매개변수를 사용하여 콘텐츠를 다운로드합니다.
IsolatedService
의 패키지 매니페스트로, 다운로드 후 이 함수를 호출합니다.
완료되어 REMOTE_DATA 테이블을
IsolatedService#getRemoteData(RequestToken)
를 이 메서드의 결과로 바꿉니다.
매개변수 | |
---|---|
input |
DownloadCompletedInput : 핸들러 매개변수를 다운로드합니다.
이 값은 null 일 수 없습니다. |
consumer |
Consumer : 결과를 수신하는 콜백입니다. null 를 켜서 호출해야 합니다.
오류가 발생합니다. null 를 사용하여 호출하면 REMOTE_DATA 테이블이 업데이트되지 않습니다.
이 메서드에서 |
onEvent
public void onEvent (EventInput input, Consumer<EventOutput> consumer)
다음에서 반환된 HTML 출력에 삽입된 플랫폼 제공 추적 URL EventUrlProvider
에 대한 요청으로 트리거된 이벤트를 처리합니다.
onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer)
입니다. 플랫폼은 EVENTS 테이블을
EventOutput#getEventLogRecord()
매개변수 | |
---|---|
input |
EventInput : 이벤트 데이터를 계산하는 데 필요한 매개변수입니다.
이 값은 null 일 수 없습니다. |
consumer |
Consumer : 결과를 수신하는 콜백입니다. null 를 켜서 호출해야 합니다.
오류가 발생합니다. null 로 호출되면 EVENTS 테이블에 데이터가 기록되지 않습니다.
이 메서드에서 |
onExecute
public void onExecute (ExecuteInput input, Consumer<ExecuteOutput> consumer)
앱의 요청을 처리합니다. 이 메서드는 앱이 이름이 지정된OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle,
java.util.concurrent.Executor, OutcomeReceiver)
IsolatedService
입니다.
매개변수 | |
---|---|
input |
ExecuteInput : 호출 앱에서 매개변수를 요청합니다.
이 값은 null 일 수 없습니다. |
consumer |
Consumer : 결과 ExecuteOutput 를 수신하는 콜백입니다. 호출되어야 함
오류 시 null 가 표시됩니다. 오류는 호출 앱에
OnDevicePersonalizationException (오류 코드: OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED ). 비공개 유출을 방지하기 위해
데이터를 호출 앱으로 전송하는 경우 더 자세한 오류 보고는 제공되지 않습니다. IsolatedService 에서 백엔드에 오류 통계를 보고해야 하는 경우 로깅을 위해 ExecuteOutput 에 오류 데이터를 채우고 제휴 분석을 사용하여 집계해야 합니다.
확인할 수 있습니다
이 메서드가 |
onRender
public void onRender (RenderInput input, Consumer<RenderOutput> consumer)
결과로 반환된 결과에 대한 HTML을 생성합니다.
onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer)
클라이언트 앱이 호출할 때 호출됩니다.
OnDevicePersonalizationManager#requestSurfacePackage(SurfacePackageToken, IBinder, int, int, int, java.util.concurrent.Executor, OutcomeReceiver)
플랫폼은 분리 내부의 WebView
에서 이 HTML을 렌더링합니다.
있습니다.
매개변수 | |
---|---|
input |
RenderInput : 렌더링 요청의 매개변수입니다.
이 값은 null 일 수 없습니다. |
consumer |
Consumer : 결과를 수신하는 콜백입니다. null 를 켜서 호출해야 합니다.
오류가 발생합니다. 오류는 오류 코드 OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED 과 함께 OnDevicePersonalizationException 로 호출 앱에 전달됩니다.
이 메서드에서 |
onTrainingExample
public void onTrainingExample (TrainingExampleInput input, Consumer<TrainingExampleOutput> consumer)
제휴 계산 작업에 사용되는 단일 학습 예시를 생성합니다.
매개변수 | |
---|---|
input |
TrainingExampleInput : 학습 예시를 생성하는 데 필요한 매개변수입니다.
이 값은 null 일 수 없습니다. |
consumer |
Consumer : 완료 시 호출되는 콜백입니다.
이 값은 null 일 수 없습니다. |